Seleziona una pagina

Con la costante evoluzione dei dispositivi mobili, abbiamo assistito ad una parallela ricerca di nuovi linguaggi e strumenti atti a semplificare la vita degli sviluppatori di applicazioni. 
Per semplificare lo sviluppo di App sui differenti sistemi operativi (iOS ed Android), sono stati realizzati diversi framework per lo sviluppo di app ibride cross-platform

I maggiori framework che sfruttano questo approccio sono Apache Cordova e Ionic (che sfruttano i paradigmi tipici dello sviluppo web), di cui troverete già numerose guide online.

Questi strumenti permettono agli sviluppatori di ridurre notevolmente le tempistiche della realizzazione di applicazioni, in quanto, attraverso lo sviluppo di un unico codebase permettono la realizzazione di applicazioni utilizzabili sia per i diversi SO mobile.

Tuttavia, nonostante le semplificazioni nello sviluppo e nella manutenibilità dell’applicazione che questi strumenti offrono, abbiamo dei limiti come ad esempio, la lentezza nell’esecuzione e nello sfruttare appieno le potenzialità del device su cui girano (essendo le app ibride).

Per risolvere questa ‘problematica’ (ci tengo a precisare che in realtà non si tratta di un problema vero e proprio, in quanto si tratta semplicemente di esigenze differenti) assistiamo alla realizzazione di nuovi framework in grado di realizzare applicazioni native per i differenti SO mobile come Xamarin.

Tuttavia piuttosto ‘recentemente’ assistiamo alla nascita di un innovativo SDK/ Framework offerto da Google per realizzare applicazioni native per iOS ed Android. Le app sviluppate in Flutter sono scritte in Dart.


Breve Storia di Flutter

Facciamo prima un brevissimo passo indietro per capire come nasce.. La prima versione di Flutter conosciuta come “Sky”, fu svelata nel 2015, durante il summit degli sviluppatori Dart, ed in seguito la prima versione “stabile” del framework, Flutter 1.0, è stata rilasciata nel 4 Dicembre 2018.

Caratteristiche

Senza perdersi troppo in chiacchiere, poiché ho deciso che queste saranno delle brevi guide incentrate alla risoluzione di problemi ed esempi reali che affronto quotidianamente durante lo sviluppo di applicazioni con Flutter, passiamo ad elencare le caratteristiche principali di Flutter:

  1. Performance: quasi pari a quelle delle applicazioni native Android / iOS;
  2. Interfacce: flessibili e molto semplici da implementare, con ricche librerie per le animazioni;
  3. Funzionalità per rendere lo sviluppo rapido attraverso il cosiddetto Hot Reload;
  4. Documentazione ricca e numerose librerie (anche di terze parti);

Cos’ha di differente rispetto agli altri Framework? 

Innanzitutto non usa WebView e i Widget OEM disponibili con il dispositivo, ma dispone di un proprio motore di rendering ad alter prestazioni per creare i widget.

In particolare utilizza Skia, una libreria open source utilizzata per la creazione di grafica 2D, e si interfaccia con le SDK native Android ed iOS ed inoltre Flutter si compone di due macro ‘livelli’:

  • uno in C/C++;
  • uno, come già accennato, in Dart, un moderno linguaggio OOP utilizzato per realizzare e gestire i widget, le gesture, le animazioni, ecc;

Potrete trovare ulteriori approfondimenti su come funziona Flutter QUI.

Nella prossima guida analizzeremo le principali differenze tra Flutter e Xamarin, ma se per caso qualcuno desiderasse entrare maggiormente nel dettaglio di qualche tematica, si senta libero di farmelo sapere nei commenti. Flutter your fantasy! 😉