Flutter: il framework per le applicazioni multipiattaforma

Flutter, il framework open source creato da Google per la creazione di applicazioni multipiattaforma veloci e affidabili.

Flutter, il framework per lo sviluppo di applicazioni mobile multipiattaforma

Flutter offre agli sviluppatori un modo semplice per creare e distribuire applicazioni per dispostivi mobile (iOS e Android), Web e Desktop (MacOs,Linux e Windows) compilate in modo nativo, il tutto utilizzando un’unica code base e con un visual degno dei migliori videogiochi.
Non è quindi difficile immaginare che potrebbe dare filo da torcere a React Native e ad altre tecnologie attualmente in voga: questo è il motivo per cui in Hinto, abbiamo deciso di sperimentarlo.

Che cos’è Flutter e per cosa può essere utilizzato? 

Flutter è un framework open source, creato da Google, per la realizzazione di interfacce.
Si integra facilmente con Applicazioni Android, IOS e con ambienti Linux, MAC, Windows e Google Fuchsia.
Flutter è stato ufficialmente rilasciato nel 2017 ed è stato scritto usando C, C++, Dart e Skia Graphics Engine: è l’unico framework con SDK mobile che fornisce uno stile reattivo senza utilizzare un bridge javascript raggiungendo un livello di performance che fa invidia al cugino e competitor diretto React Native.

Flutter VS React Native: Quali sono le differenze? 

Molti pensano che Flutter sia la risposta di Google a Facebook e React Native: è importante però sottolineare che Flutter non utilizza gli stack tecnologici più popolari come invece fa React Native basandosi su HTML, CSS e Javascript, ma si focalizza su un’unica codebase con un’architettura completamente diversa, implementando un sistema di modifiche alla codebase in tempo reale, definita "Hot reload" che permette di vedere immediatamente gli effetti sull'applicazione.

Quali sono i componenti dell’architettura di Flutter?

 I componenti dell’architettura di Flutter sono:

  • Dart Platform
  • Flutter Engine
  • Foundation Library
  • Design widgets specifici

Dart Platform

Dart è un linguaggio di programmazione orientato agli oggetti, per il web, completamente open source e sviluppato da Google: le apps realizzate con Flutter sono scritte con questo linguaggio, utilizzando le features più avanzate.
Su Windows, MacOS e Linux attraverso il progetto semi-ufficiale: "Flutter Desktop Embedding Project" girano sulla virtual machine di Dart che contiene un motore di esecuzione in tempo reale. Quando un’app viene sviluppata e debuggata, Flutter usa compilazione in tempo reale, consentendo come detto precedentemente l' "hot reload", le cui modifiche al file sorgente possono essere inserite direttamente all’interno di un’applicazione running.
Le versioni rilasciate delle app realizzate con Flutter vengono compilate AOT (ahead of time) sia su Android che su IOS, rendendo così possibili le elevate performance di Flutter sui dispositivi mobile.

Flutter Engine

Il motore di Flutter, scritto principalmente in C++, fornisce supporto per il rendering a basso livello usando la libreria grafica Skia di Google. Inoltre, si interfaccia con SDK specifiche come per esempio quelle fornite da Android o IOS. Il motore di Flutter implementa le librerie core, incluse quelle per animazioni, grafica, file, rete, accessibilità, dart runtime e compile toolchain.

Foundation library

La Foundation library è scritta in Dart e fornisce classi e funzioni base che sono utilizzate per esempio per creare le APIs che comunicano con l’engine.

Design Widgets specifici

Flutter non si basa su componenti di sistema nativi, ma ha il suo set di widget personalizzati, renderizzati e gestiti dal motore grafico del framework.
Gli utenti vedranno componenti dell'interfaccia utente diversi dalle tipiche app native, ma questo non è necessariamente uno svantaggio.
Le app realizzate con Flutter hanno un'interfaccia utente particolarmente user-friendly: un vantaggio cruciale per Flutter su React Native, derivante dalla massima attenzione ai dettagli visivi. Flutter è stato pensato in modo da poter creare facilmente i propri widget o semplicemente personalizzare un widget esistente.
Curiosi di vedere la UI in azione? Qui potete trovare un esempio di widgets ispirati al Material Design Google e all’interfaccia utente di Apple.

Siamo curiosi di scoprire nei prossimi mesi l’evoluzione di Flutter, il framework per sviluppare app multipiattaforma che sarà sicuramente promettente!

Hai qualche domanda su Flutter?

Siamo curiosi di scoprire nei prossimi mesi l’evoluzione di Flutter, il framework per sviluppare app multipiattaforma che sarà sicuramente promettente!