More
Crea e usa un'estensione Flutter DevTools con Back4app
18 min
introduzione flutter devtools è una potente suite per il debug, l'ispezione e il profiling delle app flutter con il framework di estensione dart & flutter devtools, gli sviluppatori possono creare estensioni personalizzate per migliorare i loro flussi di lavoro di debug e sviluppo queste estensioni possono essere costruite come app web flutter e integrate senza soluzione di continuità nella suite devtools in questo tutorial, esploreremo come creare un'estensione flutter devtools, integrarla con un'app flutter che utilizza back4app per i servizi backend e fare il debug dell'applicazione utilizzando l'estensione personalizzata questo ti aiuterà a costruire strumenti per sviluppatori su misura che possono semplificare il tuo processo di sviluppo e fornire approfondimenti più dettagliati sul comportamento della tua app requisiti per completare questo tutorial, avrai bisogno di 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 flutter devtools 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 themesettings per memorizzare i dati di configurazione del tema per la tua app flutter themename (string) il nome del tema primarycolor (string) il colore principale del tema accentcolor (string) il colore di accento del tema popola la classe con dati di esempio aggiungi diversi record alla themesettings classe per simulare le configurazioni del tema che la tua app flutter utilizzerà ottieni le tue credenziali back4app naviga nelle impostazioni del tuo progetto per recuperare il tuo id applicazione e la chiave client, che ti serviranno per connettere la tua app flutter a back4app passo 2 – creare l'estensione flutter devtools crea un nuovo progetto flutter apri il tuo terminale o prompt dei comandi e esegui flutter create theme builder extension imposta la directory dell'estensione naviga nella directory principale del tuo progetto e crea una nuova directory per la tua estensione devtools mkdir devtools extension all'interno di questa directory, crea un config yaml file per memorizzare i metadati richiesti da devtools package name theme builder extension version 1 0 0 issue tracker https //github com/yourusername/theme builder extension/issues material icon assets/icon png aggiungi dipendenze apri pubspec yaml e aggiungi le seguenti dipendenze dependencies flutter sdk flutter devtools extensions latest version devtools app shared latest version esegui flutter pub get per installare queste dipendenze creazione dell'estensione devtools in lib/main dart , sostituisci il contenuto predefinito con il seguente codice per avvolgere la tua app web flutter in un devtoolsextension widget import 'package\ flutter/material dart'; import 'package\ devtools extensions/devtools extensions dart'; import 'package\ devtools app shared/devtools app shared dart'; void main() { runapp(devtoolsextension(child themebuilderapp())); } class themebuilderapp extends statelesswidget { @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('theme builder')), body center( child elevatedbutton( onpressed () { // your extension logic here }, child text('generate theme'), ), ), ); } } questo avvolge la tua app nel devtoolsextension widget, che gestisce il tema e l'integrazione con la suite devtools aggiunta delle integrazioni devtools modifica la tua app per integrare funzionalità specifiche di devtools, come l'utilizzo del devtoolsbutton invece di un normale elevatedbutton class themebuilderapp extends statelesswidget { @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('theme builder')), body center( child devtoolsbutton( onpressed () { // your extension logic here }, child text('generate theme'), ), ), ); } } questa modifica garantisce che l'interfaccia utente della tua estensione si integri perfettamente con il resto della suite devtools passo 3 – integrazione con back4app inizializza parse nella tua estensione poiché questa estensione interagirà con back4app, inizializza parse nella tua estensione 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(devtoolsextension(child themebuilderapp())); } recupera e usa i dati del tema usa i dati da back4app nella tua estensione per generare e applicare temi class themebuilderapp extends statelesswidget { @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('theme builder')), body futurebuilder\<list\<parseobject>>( future fetchthemes(), builder (context, snapshot) { if (!snapshot hasdata) { return circularprogressindicator(); } final themes = snapshot data!; return listview\ builder( itemcount themes length, itembuilder (context, index) { final theme = themes\[index]; return listtile( title text(theme get\<string>('themename') ?? 'no name'), subtitle text('primary color ${theme get\<string>('primarycolor')}'), ontap () { // apply theme logic }, ); }, ); }, ), ); } future\<list\<parseobject>> fetchthemes() async { final query = querybuilder\<parseobject>(parseobject('themesettings')); final response = await query query(); if (response success && response results != null) { return response results as list\<parseobject>; } else { throw exception('failed to load themes'); } } } questo codice recupera le impostazioni del tema da back4app e le visualizza in un elenco selezionare un tema potrebbe attivare logiche aggiuntive per applicarlo passo 4 – testare la tua estensione in un ambiente simulato esegui l'estensione in un ambiente simulato per testare la tua estensione senza compilarla ogni volta, utilizza l'ambiente devtools simulato flutter run d chrome dart define=use simulated environment=true simula l'app connessa avvia un'altra app flutter a cui la tua estensione si connetterà copia e incolla l'uri del servizio vm dell'app connessa e l'uri del servizio dtd nell'ambiente simulato passo 5 – costruire e pubblicare l'estensione costruisci l'estensione una volta che sei soddisfatto della tua estensione, costruiscila per la produzione flutter pub get flutter build web output=devtools extension/build valida l'estensione usa il comando di validazione di devtools per assicurarti che la tua estensione sia configurata correttamente dart run devtools extensions validate pubblica l'estensione pubblica la tua estensione su pub dev affinché altri sviluppatori possano usarla flutter pub publish conclusione in questo tutorial, hai imparato come creare un'estensione flutter devtools, integrarla con back4app per i servizi backend e testarla in un ambiente simulato estendendo devtools, puoi costruire strumenti personalizzati che migliorano la tua produttività e offrono nuove intuizioni sul comportamento della tua app una volta che la tua estensione è pronta, pubblicarla su pub dev consente ad altri sviluppatori di beneficiare del tuo lavoro per ulteriori informazioni su come utilizzare flutter con back4app, dai un'occhiata alla documentazione di back4app https //www back4app com/docs e alla documentazione di flutter devtools https //flutter dev/docs/development/tools/devtools/overview buon coding!