More
Comprendere il pattern matching in Flutter utilizzando il backend di Back4app
10 min
introduzione il pattern matching è una funzionalità potente introdotta in dart 3 che consente agli sviluppatori di identificare ed estrarre facilmente strutture dati specifiche all'interno delle loro applicazioni se hai esperienza con linguaggi come kotlin, swift o javascript, potresti già essere familiare con il pattern matching tuttavia, se sei nuovo a questo concetto in dart, questo tutorial ti aiuterà a sentirti a tuo agio con esso esploreremo il pattern matching e come utilizzarlo in un'app flutter con un esempio pratico che integra back4app come backend per gestire e memorizzare i dati requisiti prima di iniziare, assicurati di avere quanto segue un account back4app registrati per un account gratuito su back4app com https //www back4app com un ambiente di sviluppo flutter configurato sul tuo computer locale segui la guida all'installazione di flutter https //flutter dev/docs/get started/install se non l'hai ancora configurato conoscenze di base di dart, widget flutter e utilizzo di back4app per i servizi backend passo 1 – configurare il tuo backend back4app crea un progetto back4app accedi al tuo account back4app https //www back4app com/ e crea un nuovo progetto crea classi parse per questo tutorial, crea una classe parse chiamata userdata per memorizzare le informazioni dell'utente username (string) il nome utente dell'utente age (numero) l'età dell'utente preferences (json) un oggetto json che memorizza le preferenze dell'utente ottieni le tue credenziali back4app naviga nelle impostazioni del tuo progetto per recuperare il tuo application id e client key, che ti serviranno per connettere la tua app flutter a back4app passo 2 – configurazione del progetto flutter crea un nuovo progetto flutter apri il tuo terminale o prompt dei comandi e esegui flutter create pattern matching example aggiungi dipendenze apri pubspec yaml e aggiungi le seguenti dipendenze dependencies flutter sdk flutter parse server sdk flutter latest version esegui flutter pub get per installare queste dipendenze inizializza parse nella tua app in lib/main dart , inizializza il sdk di parse import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize(keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( home patternmatchingscreen(), ); } } sostituisci 'your back4app app id' e 'your back4app client key' con le tue credenziali effettive di back4app passo 3 – implementazione del pattern matching crea il widget patternmatchingscreen in lib/main dart , crea un nuovo widget che dimostra il pattern matching recuperando e elaborando i dati dell'utente class patternmatchingscreen extends statefulwidget { @override patternmatchingscreenstate createstate() => patternmatchingscreenstate(); } class patternmatchingscreenstate extends state\<patternmatchingscreen> { string message = 'fetching data '; @override void initstate() { super initstate(); fetchandmatchdata(); } future\<void> fetchandmatchdata() async { final query = querybuilder\<parseobject>(parseobject('userdata')); final response = await query query(); if (response success && response results != null) { for (var result in response results!) { // using pattern matching to destructure and validate data if (result is parseobject) { final userdata = { 'username' result get\<string>('username'), 'age' result get\<int>('age'), 'preferences' result get\<map\<string, dynamic>>('preferences') }; switch (userdata) { case { 'username' string name, 'age' int age when age >= 18, 'preferences' {'theme' string theme} } setstate(() { message = 'welcome, $name! you are $age years old and prefer the $theme theme '; }); break; default setstate(() { message = 'data does not match the required pattern '; }); break; } } } } else { setstate(() { message = 'failed to retrieve data '; }); } } @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('pattern matching example')), body center(child text( message)), ); } } questo codice recupera i dati dell'utente da back4app, applica il pattern matching per convalidare e destrutturare i dati, e poi visualizza un messaggio personalizzato basato sui dati corrispondenti passo 4 – eseguire l'app esegui la tua app utilizzando flutter run dovresti vedere un messaggio sullo schermo basato sui dati recuperati e corrispondenti utilizzando il pattern matching verifica i dati in back4app accedendo al tuo dashboard di back4app e controllando la userdata classe puoi modificare i dati per vedere come diversi pattern corrispondono e come l'app risponde conclusione in questo tutorial, abbiamo esplorato il concetto di pattern matching in dart e come può essere applicato all'interno di un'app flutter integrando back4app come backend, abbiamo dimostrato un esempio pratico di recupero e elaborazione dei dati utilizzando il pattern matching questo approccio ti consente di convalidare e destrutturare i dati in modo efficiente, rendendo le tue app flutter più robuste e manutenibili per ulteriori informazioni sui pattern di dart, visita la documentazione di dart https //dart dev , e per suggerimenti sull'integrazione del backend, dai un'occhiata alla documentazione di back4app https //www back4app com/docs buon coding!