Quickstarters

Come costruire un backend per Xamarin?

30min

Introduzione

In questo tutorial, imparerai come costruire un backend per le tue app mobili Xamarin utilizzando le potenti funzionalità di Back4App.

Ci baseremo sull' API REST, GraphQL, e altre opzioni di API web invece di utilizzare un SDK dedicato. Questo approccio mantiene il tuo client mobile leggero e flessibile, permettendoti di connetterti ai tuoi dati attraverso semplici chiamate HTTP.

Tratteremo la creazione di modelli di database, l'applicazione della sicurezza, la gestione dell'autenticazione e l'esecuzione di operazioni sui file.

Seguendo questi passaggi, vedrai come costruire rapidamente e in sicurezza un backend per xamarin.

Esplorerai anche la pianificazione di attività automatizzate e l'integrazione di webhook per estendere la funzionalità della tua app Xamarin, così potrai concentrarti sulla codifica della tua interfaccia utente invece di destreggiarti tra le configurazioni del server.

Una volta completata questa guida, avrai un modello riutilizzabile per costruire app mobili che si basano su Back4App per il loro backend.

Capirai anche come applicare le Liste di Controllo degli Accessi (ACL), scrivere Codice Cloud (se necessario), e incorporare flussi di lavoro avanzati come Query Live o Lavori Cloud nella tua soluzione finale.

Requisiti Preliminari

Per ottenere il massimo da questo tutorial, assicurati di avere:

Con questi requisiti preliminari pronti, sarai pronto a seguire e collegare il tuo progetto Xamarin a Back4App.

Passo 1 – Creare un Nuovo Progetto su Back4App e Collegarlo

  1. Crea un progetto Back4App nel tuo dashboard di Back4App. Questa è la base per il tuo backend.
  2. Dai un nome al tuo progetto (ad esempio, “Xamarin-Backend-Tutorial”).
  3. Trova le tue Chiavi App andando nella sezione “Sicurezza e Chiavi” dell'app. Vedrai le chiavi REST, GraphQL o altre chiavi che potresti usare quando fai richieste dal tuo client mobile.
  4. Configura il tuo progetto Xamarin per effettuare richieste HTTP. Invece di un SDK Parse, utilizzerai o HttpClient, o qualsiasi libreria di rete tu preferisca, per chiamare gli endpoint REST o GraphQL della tua app Back4App.

Ad esempio, puoi memorizzare il tuo ID Applicazione e la tua Chiave API REST in un luogo sicuro o in un file di costanti:

C#


Quando chiami il web api, includi sempre queste credenziali nelle intestazioni della tua richiesta. Questo assicura che le tue richieste siano indirizzate all'app corretta con l'autorizzazione richiesta.

Passo 2 – Configurare il Database

1. Creare un Modello di Dati

Utilizza il dashboard di Back4App per definire le tue classi o lascia che vengano create dinamicamente alla prima richiesta. Ad esempio, se desideri una Todo classe, puoi crearla nella sezione Database o al volo tramite chiamate REST API :

Bash


2. Creare un Modello di Dati Utilizzando l'Agente AI

Back4App fornisce un Agente AI che può generare strutture di classe complete:

  1. Apri l'Agente AI nel tuo progetto Back4App.
  2. Descrivi il tuo modello (ad es., “Per favore crea una nuova classe chiamata ‘Todo’ con i campi titolo e isCompleted.”).
  3. Conferma per generare automaticamente lo schema.
Document image


3. Lettura e Scrittura dei Dati (REST)

All'interno del tuo Xamarin progetto, puoi scrivere una public class (ad esempio, RestClient) che gestisce tutte le richieste a Back4App:

C#


4. Lettura e Scrittura dei Dati (GraphQL)

Per le query GraphQL, puoi inviare richieste all'endpoint GraphQL di Back4App:

Bash


Allo stesso modo, da Xamarin, puoi POSTare un corpo JSON con la tua stringa GraphQL a https://parseapi.back4app.com/graphql.

5. Lavorare con le Query Live (Opzionale)

Sebbene tu stia utilizzando chiamate API web piuttosto che il Parse SDK, puoi comunque abilitare le Query Live se desideri aggiornamenti dei dati in tempo reale. Utilizzeresti connessioni specializzate (WebSocket) per iscriverti ai cambiamenti di classe. Abilita le Query Live dalle impostazioni del tuo Server Settings in Back4App, quindi utilizza una libreria client compatibile in Xamarin, se disponibile. In alternativa, puoi costruire la tua soluzione WebSocket o fare affidamento su polling se il supporto in tempo reale è opzionale per la tua app.

Passo 3 – Applicare la Sicurezza con ACL e CLP

1. Panoramica di ACL e CLP

La sicurezza di Back4App include Permessi a Livello di Classe (CLP) e Liste di Controllo degli Accessi (ACL). I CLP definiscono quali utenti o ruoli possono leggere/scrivere a un'intera classe. Le ACL aggiungono sicurezza per oggetto. Combinali per assicurarti che solo gli utenti autorizzati possano manipolare i tuoi dati.

2. Impostare i Permessi a Livello di Classe

  1. Apri la sezione Database su Back4App.
  2. Seleziona la tua classe (come Todo).
  3. Vai ai Permessi a Livello di Classe per impostare le regole di lettura/scrittura. Potresti consentire solo agli utenti autenticati di leggere o scrivere. Questo assicura che il tuo client mobile debba effettuare il login prima di leggere i dati.

Passo 4 – Scrivere Funzioni di Cloud Code

1. Perché Cloud Code

Il Cloud Code ti consente di eseguire logica personalizzata lato server. Puoi creare regole aziendali, validazioni o trigger che vengono eseguiti quando i dati cambiano. Questo riduce il rischio di manomissione poiché la logica viene eseguita al di fuori del client mobile.

2. Esempio di Funzione e Trigger

Di seguito è riportato un esempio semplificato di una Funzione Cloud nel file main.js:

JS


3. Distribuzione

Per distribuire, puoi utilizzare il Back4App CLI o la sezione Cloud Code nel tuo dashboard. Una volta distribuito, puoi chiamare le tue funzioni da Xamarin tramite REST:

Bash


4. Moduli NPM

Se hai bisogno di librerie extra, installale tramite npm nella cartella del tuo progetto Cloud Code. Dopo di che, require esse nel tuo main.js. Questo approccio è utile per chiamare API di terze parti dal lato server.

Passo 5 – Configurazione dell'Autenticazione

1. Abilita l'Autenticazione Utente

In Back4App, la _User classe gestisce le credenziali degli utenti. Sotto Impostazioni App, puoi abilitare l'autenticazione degli utenti, la verifica dell'email e le impostazioni di reimpostazione della password.

2. Registrazione / Accesso Utente (REST)

Dal tuo progetto Xamarin, puoi scrivere metodi C# per gestire la registrazione e l'accesso:

C#


Puoi quindi memorizzare i token di sessione lato client per richieste future.

3. Accesso Sociale

Per integrare accessi sociali (ad es., Google, Facebook), consulta la documentazione di Accesso Sociale di Back4App. Ogni fornitore ha il proprio flusso OAuth, che puoi gestire dal tuo client mobile. Poi, passa i token restituiti a Back4App.

Passaggio 6 – Gestione dello Storage dei File

1. Configurazione dello Storage dei File

I file possono essere caricati inviando una richiesta POST con i dati del file nel corpo. Ad esempio, per memorizzare un'immagine dalla tua app Xamarin, leggi l'immagine in un array di byte, quindi invia:

Bash


2. Esempio di Caricamento con C#

C#


3. Considerazioni sulla Sicurezza

Per garantire la sicurezza dei caricamenti di file, vai alle Impostazioni del Server di Back4App e regola le Autorizzazioni dei File. Ad esempio, puoi consentire solo agli utenti autenticati di caricare.

Passaggio 7 – Verifica Email e Ripristino Password

1. Panoramica

La verifica dell'email assicura che gli utenti possiedano l'email con cui si sono registrati. I link per il ripristino della password consentono loro di riacquistare l'accesso se dimenticano le loro password.

2. Configurazione del Dashboard di Back4App

  1. Abilita verifica email sotto Impostazioni Email.
  2. Modifica il modello di reset della password e imposta l'indirizzo “Da”.
  3. Puoi anche personalizzare il contenuto dell'email per adattarlo al tuo marchio.

3. Implementazione

Una volta abilitato, se un utente si registra con un'email, riceverà un link di verifica. Le chiamate per il reset della password vengono effettuate alla stessa API di base con l'email dell'utente per attivare un'email di reset.

Passo 8 – Pianificazione dei Compiti con Cloud Jobs

1. Cosa Fanno i Cloud Jobs

I Cloud Jobs ti permettono di pianificare compiti di routine, come la pulizia dei dati obsoleti o l'invio di email di riepilogo giornaliere, tutto dalla piattaforma Back4App.

2. Esempio

JS


Distribuisci il Cloud Code, quindi pianifica il lavoro sotto Impostazioni App > Impostazioni Server > Lavori in Background.

Passo 9 – Integrazione dei Webhook

  1. Definisci un webhook su Back4App navigando su Altro > WebHooks e cliccando “Aggiungi Webhook.”
  2. Fornisci l'endpoint, come https://your-service.com/webhook-endpoint.
  3. Scegli i trigger, come “Nuovo oggetto nella classe Todo.”
Document image


I webhook possono notificare servizi di terze parti, quindi la tua app Xamarin può rimanere leggera mentre i sistemi esterni gestiscono logiche o notifiche aggiuntive.

Passo 10 – Esplorare il Pannello di Amministrazione di Back4App

L' App di Amministrazione di Back4App è un modo intuitivo per gestire le operazioni CRUD senza scrivere query. Abilitalo in App Dashboard > Altro > App di Amministrazione. Crea un utente amministratore, scegli un sottodominio e accedi.

Document image


Questa App di Amministrazione è ideale per i membri del team non tecnici che devono gestire i dati ma non dovrebbero avere accesso diretto al database.

Conclusione

Hai appena visto come costruire un backend per Xamarin utilizzando Back4App API. Hai creato classi sicure, aggiunto CLP e ACL, gestito l'autenticazione e esplorato caricamenti di file, pianificazione di attività e integrazione con servizi esterni. Questo approccio garantisce che le tue app mobili rimangano veloci e flessibili mentre sfruttano la potenza di un database ospitato e di un ambiente cloud.

Prossimi Passi

  • Espandi la tua applicazione Xamarin per gestire logiche più complesse, caching o ruoli e permessi avanzati.
  • Immergiti in funzionalità avanzate, come le notifiche push, o integra dati in tempo reale con le Live Queries se hai bisogno di aggiornamenti collaborativi.
  • Visita la documentazione ufficiale di Back4App per guide più approfondite su sicurezza, prestazioni e debugging.
  • Crea soluzioni reali mescolando API di terze parti (gateway di pagamento, analisi, social media) con il tuo backend di Back4App. Questa combinazione può migliorare la funzionalità del tuo client mobile e mantenere il tuo codice organizzato.