Google Flutter aiuta gli sviluppatori a creare app iOS e Android

Flutter consente ai developers di app multi-piattaforma di creare esperienze utente con prestazioni di alta qualità  condividendo una base di codice.

Scritto da

Simone Ziggiotto

il

Lo sviluppo di applicazioni mobile ha dei compromessi che gli sviluppatori si trovano di continuo a dover affrontare. Ad esempio, quando uno sviluppatore crea una nuova applicazione è spesso costretto ad una scelta difficile: costruire la stessa app due volte, una per iOS e una per Android, in modo da avere un’esperienza di alta qualità su entrambe le piattaforme, oppure creare un’app da una base di codice condivisa che funziona su entrambe le piattaforme ma non è in grado di garantire le prestazioni o l’esperienza utente migliore su entrambe? Google pensa di avere trova una soluzione in Flutter, che combina le due opzioni per offrire una terza via: abilitare esperienze utente con prestazioni di alta qualità permettendo di condividere una base di codice comune.

Google Flutter, aiuto agli sviluppatori per creare app

Che si tratti di un imprenditore con una nuova idea di app, uno sviluppatore frustrato dalla scrittura di una stessa applicazione per piu’ piattaforme o altro, Mike Burr, Android Enterprise Platform Specialist, ha elencato in un post sul blog di Google alcuni dei motivi per cui si dovrebbe considerare la creazione di un’app con Flutter.

La creazione di progetti di app può comportare compromessi tra l’intento creativo di un designer e la realtà di ciò che viene effettivamente messo in produzione. I progettisti e gli sviluppatori di dispositivi mobili lavorano spesso in mondi diversi, perchè utilizzano strumenti diversi e ogni modifica deve essere testata e approvata da tutti coloro che mettono ‘mano’ al codice. A volte la visione del progettista è compromessa dalle limitazioni nelle API o nel framework utilizzato dallo sviluppatore; a volte, l’integrazione di alcune funzionalità viene rimandata a "piu’ avanti" perchè nel frattempo altri lavori di sviluppo sono subentrati (e "più tardi" spesso significa "mai" in pratica). Secondo Burr, con Flutter lo sviluppatore ha il controllo su ogni pixel sullo schermo fin dall’inizio, incluso un set completo di widget che offrono esperienze perfette sia su iOS che su Android.

Flutter si trova alla base di diverse applicazioni di successo come Reflectly, l’app di journaling numero uno nell’app store di Apple.

Esistono anche alcuni strumenti di progettazione creati apposta per Flutter – come 2Dimensions Flare, che gli sviluppatori possono utilizzare per creare animazioni e incorporarle in qualsiasi app con una singola riga di codice, e Supernova, uno strumento design-to-code, supporto recentemente annunciato per esportare i progetti di Sketch direttamente su Flutter, consentendo agli utenti di questo strumento di progettazione e wire-framing di trasformare le loro idee direttamente in codice.

Ecco un esempio di un’animazione personalizzata creata con Flare che segue in modo interattivo la digitazione nel form di login:

Google Flutter

2Dimensions Flare – form login

Le app realizzate con Flutter sono app native, il che significa che vengono compilate direttamente sui dispositivi iOS e Android.

Il linguaggio di programmazione di Flutter, Dart, è progettato intorno alle esigenze delle app create per un pubblico globale. È facile da apprendere, contiene un set completo di librerie e pacchetti che riduce la quantità di codice che lo sviluppatore deve scrivere. Quando lo sviluppatore è pronto per rilasciare la sua app, può compilare il codice direttamente sull’ARM machine code del proprio telefono, con ciò che scrive che è esattamente ciò che appare sul dispositivo, in modo da sfruttare tutta la potenza del telefono, piuttosto che utilizzare un linguaggio come JavaScript che richiede un motore separato per l’esecuzione.

Flutter non è un motore di giochi, ma offre prestazioni pari ai livelli dei giochi per l’applicazione in sviluppo. Ogni pixel in Flutter è disegnato con il motore grafico Skia: lo stesso motore con accelerazione hardware che alimenta Android e Chrome. Questa combinazione consente prestazioni rapide e prive di glitch per le app, il che significa che le app possono funzionare sullo schermo di un telefono a 60 frame al secondo, senza rallentamenti anche su un dispositivo lento.

Google Flutter, esempio di utilizzo

Gli sviluppatori di applicazioni per dispositivi mobili potrebbero avere la sensazione di perdere del tempo in attesa della codifica di un software. Quando apportano una modifica al codice, devono ricompilarlo, distribuirlo su un telefono cellulare e riportare l’app nello stesso stato in cui si trovava prima di apportare le modifiche per vedere i risultati. Al contrario, Flutter introduce una nuova funzionalità chiamata Stateful Hot Reload, che trasforma questo ciclo di sviluppo, permettendo di implementare le modifiche in millisecondi, non in minuti. Stateful Hot Reload consente inoltre una migliore collaborazione tra sviluppatori e designer quando desiderano migliorare la progettazione dell’app e vedere immediatamente gli effetti di una modifica. Google ha riferito che i team che utilizzano Stateful Hot Reload segnalano importanti guadagni di tempo per la loro produttività durante lo sviluppo di app.

Google ha rilasciato la versione 1.2 di Flutter al Mobile World Congress 2019.

Impostazioni privacy