Quickstarters

Come costruire un backend per SwiftUI?

42min

Introduzione

In questo tutorial, imparerai come costruire un backend completo per un SwiftUI app iOS utilizzando Back4App.

Ti mostreremo come integrare il Parse Swift SDK nel tuo progetto SwiftUI e sfruttare le funzionalità chiave di Back4App—come la gestione del database, le funzioni Cloud Code, le API REST e GraphQL, l'autenticazione degli utenti e le query in tempo reale—per creare un backend sicuro e scalabile.

Questo approccio ti aiuta a memorizzare i dati in modo sicuro, eseguire operazioni lato server senza dover configurare la tua infrastruttura e scalare facilmente la tua app iOS o app web secondo necessità.

Vedrai anche come la rapida configurazione e l'ambiente intuitivo di Back4app possano ridurre drasticamente il tempo e lo sforzo rispetto alla configurazione manuale del tuo server e database.

Alla fine, comprenderai come costruire un backend per SwiftUI che può essere esteso a un ambiente di produzione o integrato con logica e API personalizzate.

Iniziamo a creare un robusto, backend scalabile con un sovraccarico minimo!

Requisiti

  • Un account Back4app e un nuovo progetto Back4app Iniziare con Back4app. Se non hai un account, puoi crearne uno gratuitamente. Segui la guida sopra per preparare il tuo progetto.
  • Ambiente di sviluppo SwiftUI di base Avrai bisogno di Xcode installato sul tuo computer e di un progetto di base SwiftUI o iOS configurato.
  • Swift Package Manager o CocoaPods Per aggiungere il Parse Swift SDK. Documentazione del Parse Swift SDK.
  • Familiarità con Swift e SwiftUI Se sei nuovo in SwiftUI, rivedi Documentazione di SwiftUI di Apple. prima di iniziare.

Assicurati che tutto sia in ordine prima di iniziare. Avere il tuo progetto Back4app configurato e il tuo ambiente locale SwiftUI pronto ti aiuterà a seguire più facilmente.

Passo 1 – Configurazione del Progetto Back4app

Crea un Nuovo Progetto

Il primo passo per costruire il tuo backend SwiftUI su Back4App è creare un nuovo progetto. Se non ne hai già creato uno, segui questi passaggi:

  1. Accedi al tuo account Back4app.
  2. Clicca sul pulsante “Nuova App” nel tuo dashboard di Back4app.
  3. Dai un nome alla tua app (ad esempio, “SwiftUI-Backend-Tutorial”).
Document image


Una volta creato il progetto, lo vedrai elencato nel tuo dashboard di Back4app. Questo progetto sarà la base per tutte le configurazioni del backend discusse in questo tutorial.

Collegare il Parse Swift SDK

Back4app si basa sulla Parse Platform per gestire i tuoi dati, fornire funzionalità in tempo reale, gestire l'autenticazione degli utenti e altro ancora. Collegare la tua applicazione SwiftUI a Back4app implica installare il Parse Swift SDK e inizializzarlo con le credenziali dal tuo dashboard di Back4app.

Recupera le tue chiavi Parse: Nel tuo dashboard di Back4app, vai alla sezione “Impostazioni App” o “Sicurezza e Chiavi” della tua app per trovare il tuo ID Applicazione e Chiave Client (o Chiave JavaScript). Troverai anche il URL del Server Parse (spesso nel formato https://parseapi.back4app.com).

Document image


Installa il Parse Swift SDK:

Se utilizzi Swift Package Manager, apri il tuo progetto in Xcode e poi:

  1. FileAggiungi Pacchetti → inserisci l'URL https://github.com/netreconlab/Parse-Swift.git.
  2. Scegli “Fino alla prossima versione principale” dalle regole di versione e conferma.

Se utilizzi CocoaPods:

Bash


Inizializza Parse nella tua app. Ad esempio, nella tua App struct:

Swift


Completando questo passaggio, hai stabilito una connessione sicura tra il tuo front-end SwiftUI e il backend di Back4app. Tutte le richieste e le transazioni di dati sono gestite dal Parse Swift SDK, riducendo la complessità delle chiamate REST o GraphQL manuali (anche se puoi comunque usarle quando necessario).

Passo 2 – Configurazione del Database

Salvataggio e Query dei Dati

Con il tuo progetto Back4app configurato e il Parse Swift SDK integrato, puoi ora iniziare a salvare e recuperare dati. Di seguito è riportato un semplice ParseObject esempio. Supponiamo di avere una Todo struct:

Swift


Salvataggio di un nuovo Todo:

Swift


Query di tutti i Todos:

Swift


In alternativa, puoi utilizzare Back4app’s REST API endpoint, o GraphQL:

Curl


GraphQL:

GraphQL


Avere più opzioni (Parse Swift SDK, REST, GraphQL) ti consente di scegliere l'approccio che funziona meglio per il tuo flusso di lavoro.

Progettazione dello schema e tipi di dati

Per impostazione predefinita, Parse consente la creazione di schemi al volo, ma puoi anche definire le tue classi nel dashboard di Back4app per avere maggiore controllo.

  1. Naviga nella sezione “Database” nel tuo dashboard di Back4app.
  2. Crea una nuova classe (ad esempio, “Todo”) e aggiungi colonne pertinenti, come title (String) e isCompleted (Boolean).
Crea Nuova Classe
Crea Nuova Classe


Back4app supporta vari tipi di dati: String, Number, Boolean, Object, Date, File, Pointer, Array, Relation, GeoPoint, e Polygon. Puoi scegliere il tipo appropriato per ciascun campo.

Crea Colonna
Crea Colonna


Back4app fornisce anche un AI Agent che può aiutarti a progettare il tuo modello di dati:

  1. Apri l'AI Agent dal tuo App Dashboard.
  2. Descrivi il tuo modello di dati in linguaggio semplice (ad esempio, “Per favore crea un nuovo schema di classe ToDo.”).
  3. Lascia che l'AI Agent generi lo schema per te.
Document image


Dati Relazionali

Se hai dati relazionali—diciamo, un Category oggetto che punta a più Todo elementi—puoi usare Pointers o Relations in Parse. Ad esempio:

Swift


Questo è un esempio di come gestire i dati relazionali.

Quando si interroga, è possibile anche includere i dati dei puntatori:

Swift


Query in tempo reale

Per aggiornamenti in tempo reale, Back4app fornisce Query in tempo reale. Nella tua app SwiftUI, puoi iscriverti ai cambiamenti in una classe specifica:

  1. Abilita le Query in tempo reale nel tuo dashboard di Back4app sotto Impostazioni del server.
  2. Iscriviti nel codice.
Swift


Ogni volta che un Todo viene creato, aggiornato o eliminato sul server, la tua app viene notificata in tempo reale. Questa funzionalità è molto utile per app collaborative o dinamiche che richiedono una sincronizzazione immediata dei dati.

Passo 3 – Applicare la sicurezza con ACL e CLP

Meccanismo di sicurezza di Back4app

Back4app fornisce Access Control Lists (ACLs) e Class-Level Permissions (CLPs) per una robusta sicurezza dei dati. Questi ti permettono di limitare chi può leggere o scrivere dati su base per oggetto o per classe, assicurando che solo gli utenti autorizzati possano modificare i tuoi dati.

Document image


Access Control Lists (ACLs)

Un ACL è applicato a oggetti individuali. Ad esempio, per garantire che solo un particolare utente possa leggere/scrivere un Todo:

Swift


Class-Level Permissions (CLPs)

CLPs governano i valori predefiniti di un'intera classe, come se la classe sia leggibile o scrivibile pubblicamente, o se solo determinati ruoli possano accedervi.

  1. Vai al Dashboard di Back4app e seleziona la tua app.
  2. Apri la Database sezione, seleziona una classe (ad es., Todo).
  3. Apri le Class-Level Permissions scheda.
  4. Configura i valori predefiniti come “Richiede Autenticazione” o “Nessun Accesso.”
Document image


Queste autorizzazioni impostano una base ampia, mentre le ACL ti consentono di affinare la sicurezza a livello di oggetto. Combinare entrambi garantisce un modello di sicurezza robusto. Per maggiori dettagli, vedere Linee guida sulla sicurezza delle app.

Passo 4 – Scrivere e Distribuire Funzioni Cloud

Il Cloud Code ti consente di eseguire codice personalizzato lato server in Swift (o JavaScript) senza gestire server. È ideale per aggiungere logica aziendale, convalide dei dati, trigger o integrazioni backend che non dovrebbero essere eseguite dal client.

Come Funziona

  • Scrivi il tuo Cloud Code in un file come main.js (JavaScript) o sfrutta l'ambiente Cloud Code basato su Swift.
  • Distribuisci al tuo progetto Back4app. Il codice viene eseguito nell'ambiente di Parse Server, quindi non è necessario mantenere un proprio server.
  • Chiama il tuo Cloud Code dal client tramite l'SDK Swift, REST o GraphQL.

Casi d'uso tipici

  • Logica Aziendale: Convalide dei dati complesse, calcoli dei campi o integrazioni esterne.
  • Trigger dei Dati: Esegui logica quando un oggetto viene salvato, aggiornato o eliminato.
  • Sicurezza: Proteggi operazioni sensibili dal client eseguendole lato server.

Esempio di Funzione

Di seguito è un esempio di JavaScript Cloud Code (poiché Cloud Code utilizza principalmente JS su Back4App) che calcola la lunghezza del testo:

main.js


Distribuzione tramite CLI

  1. Installa il Back4app CLI.
  2. Configura la tua chiave account:
Bash

  1. Distribuisci Cloud Code:
Bash


Chiamare la tua funzione

Da Swift:

Swift


Via REST:

Curl


Passo 5 – Configurazione dell'autenticazione utente

Autenticazione utente in Back4app

Back4app utilizza la ParseUser classe per gestire l'autenticazione sicura. L'hashing delle password, i token di sessione e i dati vengono gestiti automaticamente, permettendoti di concentrarti sulla logica dell'app.

Impostazione dell'autenticazione utente

Registrati come nuovo utente:

Swift

Swift


Accedi a un utente esistente:

Swift


Token di sessione vengono gestiti automaticamente da Parse. Puoi disconnetterti:

Swift


Integrazione del login sociale

Le integrazioni con Google, Apple, Facebook, ecc., sono possibili con configurazioni aggiuntive. Controlla la Documentazione sul login sociale per ulteriori dettagli.

Verifica dell'email e reimpostazione della password

Abilita la verifica dell'email nel tuo dashboard di Back4app e configura le email di reimpostazione della password in modo che gli utenti possano recuperare i loro account in modo sicuro. Per le reimpostazioni della password:

Swift


Passaggio 6 – Gestione dello Storage dei File

Caricamento e Recupero dei File

Parse include ParseFile per gestire i caricamenti dei file:

Swift


Allegalo a un ParseObject:

Swift


Sicurezza dei File

Per impostazione predefinita, i file sono accessibili tramite un URL pubblico. Puoi configurare la sicurezza dei file utilizzando le impostazioni del server Parse. Per controlli più rigorosi sui file, assicurati che solo gli utenti autenticati o i ruoli specificati possano caricare o recuperare file.

Passaggio 7 – Pianificazione dei Compiti con Cloud Jobs

Cloud Jobs ti permettono di pianificare ed eseguire compiti ricorrenti come la pulizia dei dati o l'invio di email.

JS


Dopo il deployment, pianificalo tramite il Back4app Dashboard sotto Impostazioni del Server > Lavori in Background.

Document image


Passaggio 8 – Integrazione dei Webhook

I Webhook consentono alla tua app Back4app di inviare richieste HTTP a servizi esterni (come Stripe) ogni volta che si verificano determinati eventi. Questo è utile per collegarsi a strumenti di terze parti o ad altre integrazioni lato server.

  1. Vai a Webhook nel tuo dashboard Back4app > Altro > WebHooks.
  2. Aggiungi un endpoint (es., https://your-service.com/webhook).
  3. Configura quali eventi (es., nuovo record nella classe Todo) attiveranno il webhook.
Aggiungere un Webhook
Aggiungere un Webhook


Ad esempio, potresti inviare un messaggio Slack ogni volta che un utente crea un nuovo Todo. Questo ti aiuta a mantenere i servizi esterni sincronizzati con i tuoi dati di Back4app.

Passo 9 – Esplorare il Pannello di Amministrazione di Back4app

L' App di Amministrazione di Back4app è un'interfaccia di gestione basata sul web per utenti non tecnici per eseguire operazioni CRUD sui tuoi dati. Fornisce un'interfaccia utente intuitiva che è separata dal Dashboard di Parse, rendendo più facile gestire i dati in produzione.

Abilitare l'App di Amministrazione

Vai al tuo Dashboard dell'App > Altro > App di Amministrazione e clicca su “Abilita App di Amministrazione.”

Abilita App di Amministrazione
Abilita App di Amministrazione


Crea un Utente Amministratore, che genera automaticamente un ruolo di amministratore e classi associate. Scegli un sottodominio per l'interfaccia di amministrazione, quindi accedi per gestire i tuoi dati tramite un'interfaccia utente semplice e intuitiva.

Document image


Conclusione

Seguendo questa guida completa, hai imparato:

  • Come costruire un backend per SwiftUI utilizzando Back4app e il Parse Swift SDK.
  • Come memorizzare i dati in modo sicuro con schemi di classi personalizzate e relazioni.
  • Come integrare query in tempo reale (Live Queries) per aggiornamenti immediati dei dati.
  • Come applicare misure di sicurezza utilizzando ACL e CLP per proteggere e gestire l'accesso ai dati.
  • Come eseguire la logica aziendale tramite Cloud Code.
  • Come gestire l'archiviazione dei file, l'autenticazione e la pianificazione di attività in background con Cloud Jobs.
  • Come integrare la tua app con servizi esterni utilizzando webhook.

Con queste competenze, puoi costruire un app iOS o app web che è facile da gestire, sicura e pronta a scalare. Esplora funzionalità più avanzate—come permessi basati su ruoli, notifiche push o caching avanzato. Puoi anche integrare altre API o personalizzare il tuo Cloud Code per adattarlo a casi d'uso specializzati.

Buon coding, e divertiti a costruire fantastiche app su Back4App!

Prossimi Passi

  • App SwiftUI Pronta per la Produzione: Estendi questo backend per gestire modelli di dati più complessi, caching e miglioramenti delle prestazioni.
  • Funzionalità Avanzate: Approfondisci l'autenticazione specializzata, l'accesso basato su ruoli o le integrazioni API di terze parti (come Stripe).
  • Esplora la Documentazione Ufficiale di Back4app: Per approfondimenti su sicurezza lato server, analisi dei log e ottimizzazione avanzata del database.
  • Controlla Tutorial Aggiuntivi: Chat in tempo reale, servizi basati sulla posizione o applicazioni multi-tenant—combina i metodi appresi qui con API esterne per creare soluzioni sofisticate e reali.