Quickstarters
Feature Overview
Come costruire un backend per Ionic?
35 min
introduzione in questo tutorial, imparerai come costruire un backend completo per un'app ionic utilizzando back4app tratteremo la gestione del database, le funzioni cloud code, le api rest e graphql, l'autenticazione degli utenti, la gestione dei file e altro ancora il nostro obiettivo è mostrarti come costruire un backend per ionic che sia sicuro, scalabile e facile da mantenere utilizzeremo l'ambiente intuitivo di back4app per semplificare la configurazione del server, risparmiandoti dalla necessità di configurare manualmente server o database imparerai strumenti essenziali come la pianificazione di attività con cloud jobs, l'applicazione di regole di sicurezza avanzate e l'integrazione di webhook con altri servizi alla fine, sarai pronto per espandere questo backend fondamentale in un sistema pronto per la produzione per la tua app ionic requisiti un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, creane uno gratuitamente e segui la guida sopra per impostare il tuo progetto ambiente di sviluppo ionic di base assicurati di avere il ionic cli https //ionicframework com/docs/intro/cli installato e di poter creare e eseguire un'app ionic node js (versione 14 o superiore) installato scarica node js https //nodejs org/en/download/ per gestire le dipendenze e costruire il tuo progetto familiarità con javascript/typescript e concetti ionic documentazione ufficiale di ionic https //ionicframework com/docs una buona comprensione delle strutture, dei componenti e dei lifecycle hooks di ionic sarà utile passo 1 – creare un nuovo progetto su back4app e connettersi accedi al tuo account back4app crea una nuova app utilizzando il pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “ionic backend tutorial”) questo progetto back4app è la base per il tuo backend a differenza dell'utilizzo di un sdk parse lato client, questo tutorial dimostrerà come effettuare chiamate tramite rest e graphql dalla tua app ionic recuperare le tue credenziali nel dashboard di back4app, vai a impostazioni app o sicurezza e chiavi annota il tuo id applicazione , chiave api rest , e endpoint graphql avrai bisogno di questi per inviare richieste dalla tua app ionic passo 2 – configurazione del database avere un database ben strutturato è la spina dorsale di ogni app il dashboard di back4app rende facile progettare modelli di dati e gestire le relazioni 1\ creazione di un modello di dati vai alla sezione database nel tuo dashboard di back4app crea una nuova classe (ad esempio, “todo”) e aggiungi colonne (es titolo come stringa, iscompleted come boolean) 2\ creazione di un modello di dati utilizzando l'agente ai apri l' ai agent dal tuo dashboard di back4app descrivi il tuo schema desiderato, come “crea una classe todo con campi per titolo (string) e iscompleted (boolean) ” l'ai agent genererà automaticamente lo schema 3\ lettura e scrittura dei dati usando rest api dal tuo codice ionic, puoi eseguire richieste http ad esempio, per creare un todo curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo per recuperare tutti i todos curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo puoi integrare queste chiamate utilizzando fetch , axios , o qualsiasi libreria client http all'interno dei file di servizio o componente della tua app ionic 4\ lettura e scrittura dei dati utilizzando l'api graphql allo stesso modo, puoi inviare mutazioni e query graphql dalla tua app ionic ad esempio, per creare un nuovo todo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } esempio le chiamate rest o graphql possono essere collocate in un file provider/servizio nella tua struttura ionic, quindi chiamate dalle tue pagine 5\ lavorare con le query live (opzionale) le query live forniscono aggiornamenti in tempo reale ai dati della tua app, anche se richiedono il parse sdk o un approccio di abbonamento specializzato se hai bisogno di dati in tempo reale, puoi abilitare live queries dalle impostazioni del server back4app di solito utilizzeresti una connessione websocket per monitorare le modifiche nelle tue classi tuttavia, per le chiamate standard basate su http, puoi interrogare periodicamente gli endpoint rest o graphql passo 3 – applicare la sicurezza con acl e clp panoramica breve le acl (liste di controllo degli accessi) ti consentono di impostare permessi di lettura/scrittura su singoli oggetti le clp (permessi a livello di classe) ti permettono di gestire accessi più ampi a livello di classe queste funzionalità sono cruciali per proteggere i dati privati e garantire che solo gli utenti autorizzati possano modificare le informazioni impostazione dei permessi a livello di classe nel tuo dashboard di back4app, vai su database > permessi a livello di classe configura i tuoi valori predefiniti per la classe (ad esempio, solo gli utenti autenticati possono creare nuovi todo) configurazione delle acl quando crei o aggiorni record, puoi passare acl campi tramite rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{ "title" "private task", "acl" { "user object id here" { "read" true, "write" true } } }' \\ https //parseapi back4app com/classes/todo per ulteriori informazioni, vedere le linee guida sulla sicurezza dell'app https //www back4app com/docs/security/parse security passo 4 – scrivere funzioni di cloud code perché cloud code il cloud code ti consente di eseguire javascript lato server per attività come la validazione dei dati, i trigger o le integrazioni puoi creare endpoint personalizzati per centralizzare la logica, il che è particolarmente utile se desideri mantenere il codice al di fuori del client esempio di funzione e trigger nel tuo main js sul lato server (back4app), potresti scrivere // main js parse cloud define('validatetodo', (request) => { const { title } = request params; if (!title) { throw 'a title is required '; } return `title "${title}" looks good `; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'todos must have a title '; } }); distribuisci questo tramite il back4app cli https //www back4app com/docs/local development/parse cli o nella sezione cloud code del dashboard chiamare il cloud code da ionic puoi inviare una richiesta post curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "check this out"}' \\ https //parseapi back4app com/functions/validatetodo // main js parse cloud define('validatetodo', (request) => { const { title } = request params; if (!title) { throw 'a title is required '; } return `title "${title}" looks good `; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'todos must have a title '; } }); distribuisci questo tramite il back4app cli https //www back4app com/docs/local development/parse cli o nella sezione cloud code del dashboard riceverai una risposta json contenente eventuali dati restituiti o un messaggio di errore moduli npm puoi installare pacchetti come axios nel tuo ambiente cloud code per integrare servizi di terze parti includili in main js const axios = require('axios'); parse cloud define('fetchdata', async (request) => { const url = request params url; const response = await axios get(url); return response data; }); distribuisci e chiamalo allo stesso modo in cui faresti con qualsiasi funzione cloud code passo 5 – configurazione dell'autenticazione abilitare l'autenticazione degli utenti la registrazione e il login degli utenti possono essere effettuati con chiamate rest alla classe user ad esempio, per registrarsi curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{ "username" "jon", "password" "somepassword", "email" "jon\@example com" }' \\ https //parseapi back4app com/users login curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ \ data urlencode 'username=jon' \\ \ data urlencode 'password=somepassword' \\ https //parseapi back4app com/login in caso di successo, riceverai un sessiontoken conservalo in modo sicuro e includilo negli header delle richieste future per operazioni autenticate accessi sociali puoi configurare accessi sociali (come google o facebook) impostando il flusso oauth tramite back4app o utilizzando fornitori esterni fai riferimento alla documentazione accesso sociale https //www back4app com/docs/platform/sign in with apple per passaggi dettagliati passo 6 – gestione dello storage dei file impostazione dello storage dei file back4app offre uno storage sicuro per i file puoi allegare file agli oggetti o memorizzarli in modo indipendente ad esempio curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary "@path/to/your/image png" \\ https //parseapi back4app com/files/myimage png la risposta includerà un url del file che puoi memorizzare in una classe curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{ "imagefile" { " type" "file", "name" "myimage png", "url" "response url here" } }' \\ https //parseapi back4app com/classes/photo considerazioni sulla sicurezza puoi abilitare le regole di sicurezza dei file nelle impostazioni del server di back4app per richiedere l'autenticazione o limitare i caricamenti di file a ruoli specifici passo 7 – verifica email e ripristino password perché la verifica è importante la verifica dell'email garantisce la legittimità delle email degli utenti il ripristino della password fornisce un modo sicuro per recuperare le credenziali smarrite questo aiuta a mantenere la fiducia e una corretta gestione degli utenti nella tua app ionic configurazione del dashboard di back4app vai a impostazioni app > impostazioni email abilita verifica email personalizza i modelli di email per la verifica e il ripristino della password passo 8 – pianificazione dei compiti con i cloud jobs cosa fanno i cloud jobs i cloud jobs ti permettono di pianificare compiti ricorrenti come la pulizia dei dati o l'invio di email di riepilogo li scrivi nel tuo main js parse cloud job('cleanupoldtodos', async (request) => { const query = new parse query('todo'); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); dopo il deployment vai a impostazioni app > impostazioni server > compiti in background pianifica cleanupoldtodos per essere eseguito quotidianamente passo 9 – integrazione dei webhook i webhook ti permettono di inviare dati a servizi esterni quando si verificano determinati eventi nel tuo progetto back4app se la tua app ionic deve attivare un'azione in stripe o slack dopo aver creato un nuovo record, puoi utilizzare i webhook per automatizzare questo vai a altro > webhooks nel tuo dashboard di back4app aggiungi un nuovo webhook e imposta il suo endpoint (ad es , https //your service com/webhook endpoint ) scegli l' evento (ad es , “dopo salvataggio” nella classe todo ) puoi anche avviare richieste in uscita dai trigger del cloud code in main js utilizzando librerie http standard passo 10 – esplorare il pannello di amministrazione di back4app il back4app admin app è un'interfaccia più semplice per i soggetti non tecnici fornisce un modo facile per eseguire operazioni crud sulle tue classi senza dover accedere al principale parse dashboard abilitare l'admin app nel dashboard, vai su altro > admin app clicca su abilita admin app e crea un utente admin scegli un sottodominio per accedere alla tua interfaccia admin questo pannello ti aiuta a gestire i dati senza scrivere query, rendendolo ideale per clienti o membri del team che preferiscono un'interfaccia grafica conclusione completando questa guida su come costruire un backend per ionic , hai creato un backend sicuro su back4app con modelli di dati robusti e relazioni integrato con api rest e graphql per leggere e scrivere dati dalla tua app ionic implementato la sicurezza con acl e clp distribuito cloud code per logica personalizzata e trigger configurato l'autenticazione degli utenti e lo storage dei file impostato cloud jobs per pianificare attività sfruttato i webhooks per integrazioni esterne esplorato il pannello di amministrazione per semplificare l'amministrazione dei dati con questa base, la tua app ionic può evolversi in una piattaforma pronta per la produzione aggiungi più logica, collega api di terze parti o affina le regole di sicurezza per adattarle al tuo caso d'uso prossimi passi migliora la tua build di produzione implementando caching, accesso basato su ruoli e monitoraggio delle prestazioni integra funzionalità avanzate come live queries in tempo reale o autenticazione a più fattori consulta la documentazione ufficiale di back4app per un'esplorazione approfondita di analisi, log e ottimizzazione delle prestazioni esplora altri tutorial che dimostrano applicazioni di chat, integrazioni iot o funzionalità basate sulla posizione combinate con i robusti servizi backend di back4app