L'11 maggio 2022 si è tenuto il Google I/O, evento annuale in cui Google annuncia le novità più importanti riguardanti la propria azienda e i propri servizi.
In questo articolo ci concentreremo sulle novità riguardanti Flutter:
quest'anno, dopo il rilascio della versione 2.10 di qualche mese fa, abbiamo avuto il rilascio ufficiale della 3.0!
In breve, le novità più importanti di questa versione riguardano il rilascio ufficiale (stable release) di Flutter per sviluppare applicazioni desktop per Windows (dalla 2.10), MacOS e Linux.
Ciò concretizza sempre di più ciò che da tempo stiamo affermando, ovvero che Flutter avrà molto mercato anche per lo sviluppo Desktop, avantaggiando sensibilmente gli sviluppatori che utilizzano questo framework.
Altre novità sono in ambito performance (che rendono le nostre app Flutter ancora più veloci), alcune in ambito Web e Mobile ed infine qualche breaking change (fortunatamente nulla di preoccupante, soprattutto in confronto alla versione 2.0).
Prima di analizzare le novità della 3.0, diamo un'occhiata veloce a qualche dato per capire come procede l'adozione di Flutter.
Secondo i dati ufficiali di Google, attualmente sono presenti sul mercato 500.000 (mezzo milione!) di app Flutter, tra cui quelle di grandi aziende come:
SHEIN
Trip.com
BMW
Di seguito un breve video sull'adozione di Flutter da parte di ByteDance, l'azienda cinese dietro TikTok
Essendo sia MacOS che Linux considerate stabili (assieme a Windows, che già lo era), finalmente ora possiamo creare con più tranquillità mentale applicazioni Desktop per tutti e tre i sistemi operativi principali.
In particolare il lavoro che hanno fatto il team di Flutter è stato incentrato:
sul rilascio degli eseguibili (per intenderci il .exe di Windows o l'eseguibile universale che supporta sia Intel che Apple Silicon per i Mac);
sull'accessibilità (per utenti non vedenti ad esempio);
sulle integrazioni specifiche per la piattaforma (come la barra del menu di MacOS).
― Barra del menu di MacOS con Flutter Desktop
Infine, è stata annunciata la deprecazione di Windows 7/8, ciò singifica che queste versioni di Windows non saranno più supportate ufficialmente.
Le novità principali sono abbastanza piccole rispetto a quelle degli scorsi anni, segno che Flutter sta raggiungendo un plateau ed ha già un ottimo supporto per tutte le funzionalità base di cui uno sviluppatore ha bisogno.
Detto questo, non si smette mai di migliorare, in particolare:
ora Flutter supporta ufficialmenteMaterial Design 3;
è stato aggiunto il supporto ai Foldable Phones;
le app Flutter su iOS ora supportano il refresh rate dinamico, da 0HZ a 120HZ (prima erano bloccate su 60HZ massimi). Questo ovviamente significa animazioni più gradevoli per l'occhio;
hanno semplificato il rilascio di app iOS;
le app Flutter su Android ora usano una versione aggiornata del Gradle (7.4);
hanno migliorato la velocità di rendering degli ads in Android;
hanno tolto il supporto per le app iOS 32bit (iOS 9 / iOS 10).
― Material Design 3.0 in Flutter
Flutter Web continua a migliorare ogni giorno.
Con questa release, si sono concetrati sull'ottimizzare ulteriormente la performance delle Web App Flutter (che continua a rimanere, purtroppo, uno dei suoi punti dolenti).
In particolare hanno affinato il rendering delle immagini, che prima avvenivano sul thread principale, bloccando il rendering dell'UI, ora invece avviene in background, almeno per i browser basati su Chromium (Chrome, Edge, Opera, Samsung Browser).
Eh si, una delle novità di questa release è la possibilità di sviluppare, ancora più facilmente, giochi 2D in Flutter!
Infatti, data l'esistenza e la popolarità di Flame, Google ha deciso di puntare di più su questo settore e ha pubblicato ufficilamente il "Casual Games Toolkit":
un insieme di strumenti, best-practice e crediti per cominciare ad utilizzare Flutter per lo sviluppo di semplici giochi in 2D.
Passiamo alla nota dolente, ciò che ogni sviluppatore Flutter teme ad ogni Google I/O, le deprecazioni.
Fortunatamente questa volta Google non ha deprecato nulla di fondamentale, come invece era successo con la versione 2 (che ci ha portato a registrare da zero tutti i nostri corsi).
Con Flutter 3.0 le deprecazioni sono minori, le puoi trovare tutte nel seguente link:
https://docs.flutter.dev/release/breaking-changes/2-10-deprecations#scaffold-snackbar-methodsIn particolare:
FlatButton, RaisedButton, & OutlineButton sono stati ufficialmente tolti;
Scaffold.of(context).showSnackBar(...) è stato sostituito da ScaffoldMessenger.of(context).showSnackBar(...).
Ne approfittiamo per farti sapere che tutti i nostri corsi sono ancora validi , ci siamo presi qualche giorno per pubblicare questo articolo proprio per capire se, con la versione 3.0, fosse necessario aggiornare nuovamente delle parti.
Con il rilascio di Flutter 3 è stato aggiornato anche Dart alla versione 2.7, il linguaggio di programmazione alla base di Flutter.
Le novità più importanti di questa piccola release sono:
― Gli enum supportano la dichiarazione di variabili e metodi
― I costruttori possono passare i parametri alla superclasse direttamente
― Gli argomenti con nome possono essere dichiarati dovunque e non per forza al fondo
Come dopo ogni Google I/O, il nostro obiettivo è offrire un rapido changelog delle novità più importanti, così da tenerti aggiornato e sul pezzo per quanto riguarda il mondo Flutter.
Nel caso volessi approfondire ulteriormente l'argomento, ti lasciamo di seguito i link alle fonti ufficiali Google (in lingua inglese), così da farti risparmiare tempo nella ricerca:
Annuncio ufficiale Google di Flutter 3Changelog Flutter 3DartPer il momento è tutto!
Ti auguriamo il meglio per la tua carriera,
un saluto,
il team Fudeo.
PS. Iscriviti al nostro canale Telegram per restare aggiornato sui prossimi articoli di aggiornamento!