Flutter Forward 2023: cosa significano per il tuo business le innovazioni annunciate da Google?

Pubblicato: 2023-02-13

Cosa c'è di meglio che dare il via al nuovo anno con uno degli eventi più importanti nello sviluppo software, Flutter Forward 2023 ? Il team di sviluppo di Flutter presso Miquido ritiene che esplorare i miglioramenti annunciati durante la conferenza sia altrettanto divertente! Scopriamo se il nome dell'evento, Flutter Forward , è davvero profetico. È giunto il momento di concludere le versioni più importanti di Flutter 3.7 e ricapitolare brevemente i piani per il futuro del framework multipiattaforma di Google.

Finora, i vantaggi più significativi di Flutter rispetto ad altri framework di sviluppo di app per dispositivi mobili o Web sono stati i costi di sviluppo significativamente inferiori, le straordinarie possibilità di ridimensionamento delle app, le prestazioni delle app quasi native e la capacità di implementare interfacce complesse. E non è un segreto che Flutter si concentri su ulteriori miglioramenti in tutte queste aree. Ma quali aggiornamenti possiamo aspettarci esattamente?

Nuove direzioni per Flutter e Dart: una tabella di marcia presentata durante l'evento Flutter Forward
Una tabella di marcia presentata durante l'evento Flutter Forward

Discutiamo il discorso di apertura di Flutter Forward, approfondiamo le 4 direzioni future più importanti per il framework di Google e consideriamo il valore commerciale dei miglioramenti annunciati per il 2023.

Baseline: Flutter nel 2022

Flutter è un framework open source creato da Google per ottimizzare il processo di sviluppo di applicazioni per più piattaforme mantenendo le massime funzionalità offerte dagli approcci nativi. Google ha annunciato la prima versione stabile (Flutter 1.0) alla fine del 2018 e il toolkit relativamente nuovo è diventato rapidamente il framework di sviluppo multipiattaforma più popolare al mondo.

Nel 2021, Flutter è diventato il framework multipiattaforma più popolare

L'immensa popolarità del framework di Google non è una sorpresa. Ci sono molti vantaggi di Flutter, il che rende sempre più sviluppatori desiderosi di scegliere questo framework. Flutter è un toolkit dell'interfaccia utente che consente agli sviluppatori di creare app per dispositivi mobili, Web e desktop belle e intuitive da un'unica base di codice. Grazie alla funzione di ricarica a caldo, Flutter aumenta la produttività degli sviluppatori consentendo loro di visualizzare in anteprima eventuali modifiche al codice all'istante. E, ultimo ma non meno importante, Flutter è un progetto completamente open source che non richiede costi di licenza o strumenti dedicati.

L'attenzione di Google sullo sviluppo di Flutter nel 2023

Google è molto impegnata nello sviluppo di Flutter, come evidenziato da quasi 20 versioni nel 2022. Secondo la roadmap pubblicata su Github, Flutter prevede di annunciare altre 4 versioni stabili e 12 versioni beta nel 2023. Inoltre, per onorare un'impressionante comunità di collaboratori esterni , Flutter ha recentemente annunciato la sua nuova strategia di rilascio di nuove funzionalità "quando raggiungono il canale beta piuttosto che aspettare che siano sul canale di rilascio stabile" e "incoraggiando le persone che cercano un ciclo di aggiornamento più rapido a utilizzare il canale beta".

Un estratto dalla Roadmap di Flutter per il 2023 pubblicato su Github
Un estratto dalla Roadmap di Flutter , Github

Guardando la tabella di marcia del 2023 rivelata all'evento Flutter Forward a Nairobi, in Kenya, una cosa diventa chiara. Flutter sta ora entrando in una fase in cui si lascia molto indietro la concorrenza multipiattaforma. La portata dei miglioramenti previsti in termini di prestazioni, qualità, accessibilità e sicurezza, nonché il numero di nuove funzionalità che Flutter prevede di rilasciare nel 2023, sono davvero impressionanti. Discutiamo il più importante di loro.

Le 4 principali innovazioni annunciate durante Flutter Forward 2023

Durante l'evento Flutter Forward, i fondatori del framework multipiattaforma hanno attirato l'attenzione su 4 aree principali che vogliono sviluppare nelle prossime versioni, tra cui:

  1. Prestazioni grafiche rivoluzionarie
  2. Integrazione perfetta per Web e dispositivi mobili
  3. Dall'inizio alle architetture nuove ed emergenti
  4. Attenzione continua all'esperienza degli sviluppatori.

Diamo un'occhiata più da vicino alle notizie più succose delle quattro categorie sopra menzionate.

1. Prestazioni grafiche rivoluzionarie: girante e materiale 3

Durante l'evento Flutter Forward, Flutter ha sottolineato il suo crescente impegno per migliorare le prestazioni grafiche del toolkit dell'interfaccia utente di Google. Il team di Flutter non solo ha deciso di riscrivere il runtime di rendering Impeller di Flutter, ma ha anche annunciato l'imminente migrazione a Material 3. Cosa significano questi cambiamenti per le aziende interessate a sviluppare il proprio prodotto digitale con Flutter?

Ulteriori progressi su Impeller

Flutter run –enable-impeller è una riscrittura significativa del runtime di rendering di Flutter, con l'obiettivo di risolvere i problemi di jank dell'animazione e consentire prestazioni fluide di animazioni complesse (come caleidoscopi o 3D). E sebbene Impeller sia attualmente disponibile solo nella versione beta iniziale (modalità di anteprima per iOS), Flutter Dev ha rivelato che nei prossimi mesi intendono perfezionare il supporto di Impeller per iOS e annunciare la data di rilascio dell'anteprima di Android.

[Impeller] è un tipo di esperienza così diverso. È così liscio come la seta. (...) In sostanza, siamo in grado di creare un motore di rendering grafico su misura per Flutter piuttosto che sfruttare un renderer generico.

Tim Sneath Direttore del prodotto e UX per Flutter e Dart presso Google

Migrazione flutter al materiale 3

Uno dei cambiamenti rivoluzionari annunciati durante Flutter Forward è la migrazione dal Materiale 2 (M2) al Materiale 3 (M3). L'ultima versione di Flutter, Flutter 3.7, offre widget basati sulla nuova versione del linguaggio di progettazione di Google. Perché si tratta di un cambiamento significativo e quali conseguenze può avere per il tuo prodotto digitale?

Cos'è il materiale 3

Iniziamo con una breve informazione per chi non conosce M2 e M3. Material Design è un linguaggio di progettazione sviluppato da Google nel 2014 per combinare i principi UX/UI con l'innovazione tecnica. Un sistema adattabile di componenti grafici, linee guida e strumenti semplifica la cooperazione tra sviluppatori e designer e rende molto più semplice la creazione di prodotti digitali di facile utilizzo.

L'ultimo aggiornamento di Material del 2021, Material 3, ha portato la standardizzazione dei problemi di accessibilità e una maggiore elasticità dei componenti grafici. La flessibilità del Materiale 3 è principalmente legata all'introduzione di uno standard per operare sui token di design, ovvero le unità più piccole che compongono il sistema di design (come il colore, la tipografia o la spaziatura). Cosa significa in pratica? Basta guardare uno dei progetti vetrina di Google: l'app mobile Wonderous sviluppata con Flutter e basata su Material 3!

Wonderous, un'app Flutter di esempio creata con Material 3
Wonderous, un'app Flutter di esempio creata con Material 3
Quali possibilità portano la migrazione di Flutter a Material 3?

La migrazione a M3 significa che Flutter sta rafforzando la sua posizione di leadership per quanto riguarda i toolkit dell'interfaccia utente che consentono la creazione di applicazioni accattivanti e visivamente attraenti. Sfruttare la tipografia, la rapida implementazione dell'interfaccia utente basata su temi, l'introduzione del movimento attraverso il movimento o l'animazione... Grazie al supporto potenziato per M3, d'ora in poi, gli sviluppatori di Flutter saranno in grado di realizzare in modo efficiente le visioni creative più avanzate.

Ovviamente, la migrazione a Material 3 è un processo, quindi nella fase Flutter 3.7, i creatori del framework prestano attenzione ai seguenti problemi:

  • Anche se la maggior parte dei widget Flutter è già stata migrata a M3, gli sviluppatori dovrebbero seguire i progressi del progetto Material 3 Flutter GitHub per confermare lo stato del widget specificato.
  • Gli sviluppatori possono acconsentire esplicitamente a Material 3 utilizzando il flag useMaterial3. Tuttavia, l'interfaccia utente potrebbe essere incoerente fino a quando non viene eseguita la migrazione di tutto il codice di Flutter e della singola app.

Vuoi scoprire altre nuove funzionalità di Material 3? Dai un'occhiata alla demo interattiva preparata da Flutter Dev.

Materiale 3 - una demo interattiva di Flutter Dev
Materiale 3: una demo interattiva di Flutter Dev

2. Integrazione perfetta per Web e dispositivi mobili

The Flutter Dev ha anche confermato una forte attenzione nel garantire una migliore integrazione tra Dart e altri linguaggi di programmazione. Sul Web, Flutter può ora essere utilizzato come componente incorporato. Sui dispositivi mobili, le app Flutter ora possono chiamare le API di sistema o il codice scritto in altri linguaggi di programmazione. Discutiamo i miglioramenti più importanti riguardanti l'integrazione perfetta di Web e dispositivi mobili in Flutter!

Incorporamento di elementi

Uno dei miglioramenti di Flutter Forward più discussi è il nuovo standard per Flutter per lo sviluppo Web: incorporare i moduli Flutter nelle applicazioni Web esistenti. L'incorporamento di elementi, una nuova funzionalità ora presentata in anteprima dal team di sviluppo di Flutter, consente agli sviluppatori Web di incorporare facilmente i contenuti di Flutter con un elemento <div> standard. In altre parole, gli sviluppatori Web saranno presto in grado di integrare i widget Flutter nelle applicazioni esistenti, anche quelle scritte in diversi linguaggi di programmazione.

Demo di incorporamento di elementi di Flutter Dev
Demo di incorporamento di elementi di Flutter Dev

Comunicazione diretta con API native dal codice Dart

Flutter sta lavorando sodo per migliorare due strumenti (FFIgen per iOS e JNIgen per Android) per la generazione di associazioni, consentendo la comunicazione diretta con le API native dal codice Dart. FFIgen e JNIgen migliorano significativamente l'efficienza dello sviluppo rendendo possibile richiamare codice nativo e riutilizzare codice già scritto o sfruttare funzionalità specifiche della piattaforma. Al momento, Dart è in grado di comunicare con:

  • C (dart:ffi) → Linux
  • Objective-C e Swift (dart:ffi + pacchetto FFIgen) → macOS e iOS
  • C++ (dart:ffi + pacchetto FFIgen) → Windows
  • Java e Kotlin (pacchetti JNI e JNIgen) → Android
  • JavaScript (pacchetto js) → Web.

Migliore interoperabilità con JavaScript

Sembra che ci sia anche una nuova opportunità per i prodotti digitali realizzati con JavaScript! Gli sviluppatori possono ora gestire i widget Flutter direttamente da JavaScript e viceversa. Una migliore interoperabilità con JavaScript è un altro miglioramento che rende il framework di Google eccezionalmente efficace in termini di ridimensionamento o riscrittura di applicazioni mobili o web esistenti.

3. Supporto per architetture precoci o nuove ed emergenti

Durante Flutter Forward 2023, il team di Flutter ha rivelato i suoi primi sforzi per compilare Flutter in WebAssembly (Wasm), un "obiettivo di compilazione portatile per linguaggi di programmazione, che consente l'implementazione sul Web per applicazioni client e server" (WebAssembly). Tim Sneath, Director of Product & UX per Flutter e Dart, ha anche annunciato il supporto di Flutter per RISC-V, l'architettura di chip open standard esente da royalty. Perché pensiamo che entrambe queste decisioni meritino un commento più lungo?

Flutter e WebAssembly

WebAssembly sta crescendo in popolarità come formato di istruzione binaria indipendente dalla piattaforma in tutti i principali browser e il team di Flutter Dev spera di esplorarne i meriti. Wasm è caratterizzato da velocità e prestazioni impressionanti, soprattutto con grandi quantità di dati. Per quanto riguarda l'elaborazione di immagini o video, Wasm è incomparabilmente migliore del suo più grande concorrente, JavaScript. Ma come può aiutare nello sviluppo del framework di Google?

Sembra che WebAssembly ci darà un po' di tempo per caricare, ridurre le dimensioni e il numero di megabyte trasferiti via cavo. (...) Il potenziale per WebAssembly è - sia sul web che anche oltre - diventare questo nuovo tipo di lingua franca portatile. Mi piace l'idea che possiamo prendere e utilizzare altro codice in altre lingue anche in WebAssembly.

Tim Sneath Direttore del prodotto e UX per Flutter e Dart presso Google

Il supporto di Flutter per RISC-V

Anche se RISC-V è ancora agli inizi, sta gradualmente iniziando a prendere piede nel settore. Secondo Sneath, l'investimento di Google in questa architettura potrebbe aprire nuove piattaforme per Flutter. Anche se i processori ARM sono ancora in testa in termini di prestazioni, RISC-V sembra molto promettente per quanto riguarda le tecnologie indossabili. Per non parlare del fatto che RISC-V è fornito con licenze open source che non richiedono costi per l'utilizzo.

4. Attenzione continua all'esperienza degli sviluppatori: Dart 3 alpha e Flutter News Toolkit

Flutter è un framework creato per aumentare la produttività degli sviluppatori. Il linguaggio di programmazione di Flutter, Dart, consente un lavoro efficiente e iterativo con una funzione di ricarica a caldo, che consente agli sviluppatori di sperimentare, regolare le caratteristiche e correggere i bug durante lo sviluppo, senza ricaricare l'intera app. Inoltre, Dart funziona velocemente su tutte le piattaforme, consente agli sviluppatori di implementare complesse creazioni di UI e, ultimo ma non meno importante, è notevolmente facile da imparare.

Tuttavia, durante Flutter Forward, Flutter Dev ha annunciato una versione ancora più produttiva, portatile e accessibile di Dart. Parliamo di Dart 3, ora disponibile in early alpha per i test!

Sicurezza nulla al 100% in Dart 3: niente più arresti anomali dell'app!

L'annuncio più importante riguardante l'imminente Dart 3 è l'introduzione della sicurezza nulla del suono al 100%. Flutter ha interrotto il supporto per l'esecuzione senza sicurezza nulla per ridurre il sovraccarico e la complessità del codice. In Dart 3, tutte le variabili sono non nulle per impostazione predefinita, il che riduce significativamente il costo e la complessità dell'aggiunta di nuove funzionalità.

In un sistema di digitazione audio, puoi fidarti dei tipi, il che significa che una variabile non è mai nulla quando i tipi affermano che non lo è. Ciò aumenta la produttività rilevando i problemi durante lo sviluppo piuttosto che nella produzione e consente ai compilatori Dart di produrre codice più piccolo e più ottimizzato. (…) Dart è unico nell'introdurre una sicurezza nulla al 100% in un linguaggio esistente.

Michael Thomsen PM per Dart and Flutter presso Google

Espressività senza precedenti di Dart 3: record, modelli e controlli di accesso

I record e i modelli sono due nuove funzionalità principali di Dart 3 che ottimizzano il lavoro con i dati strutturati. I record consentono agli sviluppatori di Flutter di creare nuove strutture di dati che combinano facilmente i dati esistenti. I modelli, a loro volta, possono destrutturare i dati compositi.

Kit di strumenti per le notizie di Flutter

Flutter News Toolkit è un progetto Flutter Dev open source rivolto a editori di media e contenuti che cercano un modo rapido ed economico per raggiungere i propri lettori sui dispositivi mobili. Gli editori di contenuti interessati alla trasformazione digitale possono ora utilizzare un toolkit completo con tutto ciò di cui potrebbero aver bisogno per sviluppare applicazioni mobili con notizie, tra cui navigazione, ricerca, autenticazione, integrazioni pubblicitarie, notifiche, profili o abbonamenti.

Boldsports: un'applicazione mobile per una start-up di notizie con sede in Nigeria, creata con Flutter News Toolkit in pochi giorni
Boldsports: un'applicazione mobile per una start-up di notizie con sede in Nigeria, creata con Flutter News Toolkit in pochi giorni

Miquido e Flutter

Poiché molti settori attraversano tempi difficili, è fondamentale dare priorità all'ottimizzazione dei costi operativi e alla mitigazione dei rischi. Un framework multipiattaforma Flutter è una soluzione open source, economica e affidabile che consente alle aziende di concentrarsi su ciò di cui dovrebbero effettivamente preoccuparsi: efficienza, scalabilità e redditività dei loro prodotti digitali.

Nel 2018, Miquido è stata la prima azienda europea a creare un progetto commerciale in Flutter. L'applicazione mobile Topline per gli Abbey Road Studios non solo ha soddisfatto i presupposti aziendali, semplificando il processo di registrazione musicale per gli artisti associati all'iconica etichetta britannica, ma ha anche conquistato il cuore dell'intero settore dello sviluppo di app mobili. Ecco perché vogliamo sottolineare le opportunità di business offerte dalla tecnologia multipiattaforma e da Flutter nello sviluppo mobile.

Cosa riserva il futuro per Flutter? L'esperienza degli anni precedenti dimostra che Flutter mantiene le sue promesse pubbliche. Pertanto, siamo fiduciosi che la roadmap di Flutter per il 2023 possa essere considerata un piano ben congegnato implementato scrupolosamente dal team di Google.