Quickstarters
Feature Overview
How to Build a Backend for iOS?
41 min
introduzione in questo tutorial, imparerai come costruire un backend per ios utilizzando back4app https //www back4app com esploreremo l'integrazione delle funzionalità essenziali di back4app—come la gestione del database, le funzioni cloud, le api rest e graphql, l'autenticazione degli utenti, l'archiviazione dei file e le query in tempo reale (live queries)—per creare un backend sicuro, scalabile e robusto per la tua applicazione ios le offerte di backend come servizio di back4app aiutano a ridurre la complessità di configurazione di un infrastruttura lato server mentre accelerano lo sviluppo puoi memorizzare i dati in un formato flessibile di database nosql, gestire gli account utente, aggiungere notifiche push , e applicare controlli di accesso avanzati in una frazione del tempo necessario per costruire una soluzione personalizzata questo significa che puoi concentrarti sul miglioramento della esperienza utente e sull'implementazione delle funzionalità principali, piuttosto che preoccuparti della manutenzione del server o della fornitura entro la fine di questo tutorial, avrai un backend pronto all'uso che può essere adattato a scenari del mondo reale, scalato per accogliere un traffico aumentato e ampliato con logiche più complesse o servizi di terze parti sarai in grado di fornire un backend affidabile per la tua app ios, accelerare il tuo processo di sviluppo , e migliorare la tua interfaccia utente complessiva con meno sforzo requisiti per completare questo tutorial, avrai bisogno di 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, puoi crearne uno gratuitamente segui la guida sopra per preparare il tuo progetto ambiente di sviluppo ios di base puoi sviluppare con xcode (versione 13 0 o superiore) installa xcode https //developer apple com/xcode/ swift package manager o cocoapods per aggiungere parse swift segui le istruzioni di parse swift su github https //github com/netreconlab/parse swift per i dettagli sull'installazione familiarità con swift e concetti ios documentazione swift di apple https //docs swift org/swift book/ se sei nuovo in swift o ios, rivedi la documentazione ufficiale o un tutorial di base su ios prima di iniziare avere un ambiente ios funzionante con xcode, insieme al tuo account back4app gratuito, ti aiuterà a seguire più facilmente passo 1 – creare un nuovo progetto su back4app e collegarsi perché creare un nuovo progetto? un nuovo progetto back4app forma la base del tuo sviluppo backend per ios fornisce tutti gli strumenti di cui hai bisogno—database, api, autenticazione, funzioni cloud—per costruire un backend rapidamente e in sicurezza guida passo passo accedi al tuo account back4app crea una nuova app facendo clic su “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “ios backend demo”) una volta creato, il tuo nuovo progetto apparirà nel tuo dashboard di back4app installazione del parse swift sdk e configurazione delle chiavi back4app si basa sulla parse platform sotto il cofano per ios, utilizza il parse swift sdk 1 recupera le tue chiavi parse nel dashboard di back4app, vai su “impostazioni app” o “sicurezza e chiavi” per trovare id applicazione chiave client (o chiave swift se applicabile) url server (spesso https //parseapi back4app com ) 2 aggiungi il parse swift sdk se stai usando swift package manager // in package swift or xcode's swift packages package( url "https //github com/netreconlab/parse swift git", from "5 0 0" ) se stai usando cocoapods , aggiungi nel tuo podfile pod 'parseswiftog' poi esegui pod install 3 inizializza parse all'interno del tuo appdelegate swift (o nel file principale dell'app swiftui), chiama parseswift initialize( ) con le tue credenziali import swiftui import parseswift @main struct myapp app { init() { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", // optional serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\\\(error)") } } var body some scene { windowgroup { contentview() } } } congratulazioni! la tua app ios è ora connessa a back4app e ogni richiesta o transazione di dati passerà automaticamente attraverso parse swift passo 2 – configurazione del database 1 creazione di un modello di dati back4app utilizza un schema approccio in cui ogni classe/tabella può essere gestita dal dashboard supponiamo di voler creare una todo classe vai a “database” nella tua console back4app clicca su “crea una nuova classe” , chiamala todo , e aggiungi colonne come title (string) e iscompleted (boolean) 2 creazione di un modello di dati con l'agente ai l'agente ai di back4app può accelerare la progettazione del tuo schema apri l'agente ai nel tuo dashboard descrivi il tuo modello di dati in linguaggio semplice (ad esempio, “crea una nuova classe todo con i campi title e iscompleted”) lascia che l'ai costruisca automaticamente lo schema per te 3 lettura e scrittura dei dati utilizzando il sdk swift con parse swift , definisci la tua struttura dati nel codice ad esempio import parseswift struct todo parseobject { // parseobject protocol var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } // saving func createtodoitem(title string, iscompleted bool) async { var todo = todo() todo title = title todo iscompleted = iscompleted do { let saved = try await todo save() print("saved objectid \\\\(saved objectid ?? "")") } catch { print("error saving \\\\(error)") } } // querying func fetchtodos() async { do { let todos = try await todo query() find() print("fetched \\\\(todos count) todos") } catch { print("error fetching \\\\(error)") } } 4 lettura e scrittura dei dati utilizzando l'api rest in alternativa, puoi utilizzare chiamate rest ad esempio, per creare un todo 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" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5 lettura e scrittura dei dati utilizzando l'api graphql back4app include anche il supporto per graphql ecco un esempio di mutazione mutation { createtodo(input { fields { title "clean house" iscompleted false } }) { todo { objectid title iscompleted } } } 6 lavorare con le query live (opzionale) back4app supporta aggiornamenti in tempo reale tramite le query live per swift let subscription = try? todo query("iscompleted" == false) subscribe() subscription? handleevent({ event in switch event { case created(let newtodo) print("new todo created \\\\(newtodo)") case updated(let updatedtodo) print("todo updated \\\\(updatedtodo)") default break } }) passo 3 – applicare la sicurezza con acl e clp 1 panoramica liste di controllo degli accessi https //www back4app com/docs/security/parse security (acl) controllano i permessi per oggetto, mentre permessi a livello di classe (clp) impostano i valori predefiniti per intere classi 2 passi permessi a livello di classe nel dashboard di back4app, apri una classe (ad esempio, todo ), quindi fai clic sulla scheda “sicurezza” puoi limitare la lettura/scrittura solo agli utenti o ruoli autenticati acl nel codice quando salvi un parseobject, puoi assegnare un acl regola questi per garantire che i tuoi dati siano accessibili solo dagli utenti giusti passo 4 – scrivere funzioni di cloud code 1 perché il cloud code? il codice cloud è il tuo migliore amico per aggiungere logica lato server alla tua app ios puoi mantenere la logica sensibile o le validazioni lontane dal client, integrare api esterne e eseguire attività in background sul server 2 esempio di funzione crea un main js file localmente (o nell'editor online) con una funzione parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw "no text provided"; } return { length text length }; }); 3 distribuzione usa il back4app cli https //www back4app com/docs/local development/parse cli o l'editor cloud code > funzioni nel dashboard installa il cli configura la tua chiave account distribuisci 4 chiamare il cloud code da ios task { do { if let result = try await parsecloud callfunction("calculatetextlength", with \["text" "hello back4app"]) as? \[string int] { print("text length \\\\(result\["length"] ?? 0)") } } catch { print("cloud code error \\\\(error)") } } 5 utilizzo dei moduli npm nel tuo package json (all'interno del cloud code), elenca le tue dipendenze poi in main js const axios = require('axios'); parse cloud define("fetchposts", async () => { // use axios here }); passo 5 – configurazione dell'autenticazione 1 abilita l'autenticazione utente nel tuo dashboard di back4app, la user classe è già fornita puoi impostare la verifica dell'email, il ripristino della password e altro 2 esempi di codice ios iscriviti accedi 3 accesso sociale puoi integrare accessi sociali (google, apple, facebook) con parse swift fai riferimento alla documentazione accesso sociale https //www back4app com/docs/platform/sign in with apple per istruzioni dettagliate passo 6 – gestione dello storage dei file 1 configurazione dello storage dei file carica e recupera file come immagini o documenti tramite parse per swift struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var score int? var picture parsefile? } func uploadimagedata( data data) async { var file = parsefile(name "photo jpg", data data) do { file = try await file save() print("file url \\\\(file url ?? "")") } catch { print("error uploading file \\\\(error)") } } 2 recupero dei file func fetchimage(file parsefile) async { do { let fetched = try await file fetch() print("fetched localurl \\\\(fetched localurl? absolutestring ?? "")") } catch { print("error fetching file \\\\(error)") } } 3 considerazioni sulla sicurezza puoi configurare le autorizzazioni dei file nelle impostazioni di back4app o nel file parse config della tua app ad esempio, limita chi può caricare o eliminare file passo 7 – verifica email e ripristino password 1 perché la verifica? la verifica dell'email assicura che un utente possieda l'indirizzo email fornito i flussi di ripristino della password consentono agli utenti di recuperare in modo sicuro gli account 2 configura in back4app vai a impostazioni app > impostazioni email utente abilita la verifica dell'email configura il from email , i modelli email e un dominio personalizzato opzionale 3 implementazione task { do { try await user requestpasswordreset(email "johnny\@example com") print("password reset email sent") } catch { print("error resetting password \\\\(error)") } } passo 8 – pianificazione dei compiti con cloud jobs 1 panoramica usa cloud jobs per automatizzare compiti come la cancellazione di vecchi record o l'invio di notifiche giornaliere vengono eseguiti sul lato server , non attivati direttamente dal client 2 esempio parse cloud job("cleanupoldtodos", async (request) => { const todo = parse object extend("todo"); const query = new parse query(todo); // older than 30 days const cutoff = new date(date now() 30 24 60 60 1000); query lessthan("createdat", cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); pianifica questo lavoro nel dashboard di back4app sotto impostazioni del server > lavori in background per eseguirlo periodicamente passo 9 – integrazione dei webhook 1 definizione i webhook consentono alla tua app di inviare dati a servizi esterni ogni volta che si verificano determinati eventi ad esempio, notificare un canale slack quando viene creato un todo 2 configurazione dashboard vai su altro > webhook e seleziona “aggiungi webhook ” imposta endpoint ad es https //my server com/webhook endpoint attivazione evento ad es “nuovo record nella classe todo ” 3 esempio di codice parse cloud aftersave("todo", async (request) => { const { object } = request; // make an http post to an external url // containing the new todo details }); passo 10 – esplorare il pannello di amministrazione di back4app 1 dove trovarlo il tuo pannello di amministrazione è accessibile tramite “altro” > “app di amministrazione” nel dashboard di back4app crea un utente amministratore e scegli un sottodominio per un accesso facile 2 funzionalità navigazione dati visualizza e modifica le classi in un formato user friendly log controlla i log del server e i log del cloud code analisi monitora l'uso, le notifiche push, ecc conclusione in questo tutorial, hai imparato come costruire un backend per ios utilizzando back4app e il parse swift sdk hai integrato un database scalabile, implementato la sicurezza con acl e clp, scritto funzioni di cloud code, configurato l'autenticazione degli utenti, gestito lo storage dei file e persino programmato attività in background con queste funzionalità essenziali in atto, puoi offrire un backend affidabile per la tua applicazione mobile ios mentre ti concentri sulla esperienza utente e sulle caratteristiche uniche prossimi passi esplora ruoli avanzati e controlli di accesso personalizzati per una sicurezza multi livello integra funzionalità avanzate come notifiche push, geo query o fonti di dati esterne rivedi la documentazione ufficiale di back4app per suggerimenti sulle prestazioni, analisi dei log o analisi in tempo reale prova ulteriori tutorial su applicazioni di chat, integrazione iot o espansioni e commerce sfruttando back4app, ottieni una piattaforma open source che è una grande opzione per ridurre la complessità, memorizzare dati facilmente e incorporare funzionalità in tempo reale nella tua app ios implementare questi passaggi ti libera per lavorare su design, flussi utente o logica aziendale, creando un robusto backend per la tua app ios in pochissimo tempo