Tutti i corsiTutti gli articoli
Cambiamenti Team Flutter e novità da Google I/O

Cambiamenti Team Flutter e novità da Google I/O

Aggiornato il17.mag.2024/Team Fudeo/7 minuti

Questo mese la newsletter è particolarmente importante:

se utilizzi Flutter per lavoro o stai pensando di adottarlo, ti consigliamo di continuare a leggere.Parleremo delle novità presentate il 14 maggio al Google I/O, la conferenza annuale di Google per sviluppatori.

Prima, però, l'elefante nella stanza:

cos'è successo a inizio maggio con il team Flutter?

Google ha ottimizzato la propria forza lavoro, spostando le risorse dei vari team. Hanno fatto dei licenziamenti orizzontali (quindi che hanno intaccato diversi team) per ricollocare gli sviluppatori.

In particolare, alcuni della vecchia guardia del team Flutter tempo fa erano stati spostati nel team Fuchsia e ora sono rientrati in Flutter. Per semplificare, hanno licenziato gli ultimi arrivati per far rientrare i vecchi.

Link al tweet

Michael Thomsen è il Product Manager di Dart e Flutter, in un altro tweet ha specificato che:

  • 1.

    non ci sono stati cambi alla strategia

  • 2.

    nessun cambiamento nella grandezza del team

  • 3.

    la roadmap continua

Link al tweet

Purtroppo alcuni hanno approfittato di questa mossa improvvisa di Google per screditare il framework, tirando su un polverone ingiustificato: così i meno informati si sono giustamente spaventati.

Perché ne scriviamo dopo due settimane?

Abbiamo voluto aspettare che le acque si calmassero per non prendere parte al rumore e, soprattutto, per avere fonti certe da allegare.

Flutter è un framewok forte e stabile, adottato sempre di più da aziende di grosse dimensioni.

È notizia di queste ultime settimane l'adozione di Flutter da parte di GEICO, la società di assicurazioni auto di proprietà della Berkshire Hathaway di Warren Buffett, tra le più importanti negli Stati Uniti.

Di seguito il link al post in cui spiegano perché hanno scelto Flutter, che consigliamo di leggere:

CLICCA QUI PER LEGGERE L'ANALISI FLUTTER DI GEICO

Finora abbiamo parlato di fatti del passato, ora concentriamoci sul futuro di questo framework.

Come anticipato in apertura, sono state presentate diverse novità molto interessanti al Google I/O.

Entriamo subito nel vivo con i punti più importanti.

## Flutter 3.22

Questa è una release di grande importanza per il team di Flutter dal punto di vista delle prestazioni, con 3 miglioramenti principali:

  • 1.

    Le web app sono il doppio più veloci. Sì, hai letto bene!

  • 2.

    Il nuovo motore grafico Impeller è pronto per il 99% delle app Android

  • 3.

    Miglioramenti delle prestazioni e supporto per Android 14 di Google Maps e altri componenti nativi

Inoltre, degno di nota è il supporto per Gemini AI, l'alternativa di Google a ChatGPT.

### Prestazioni delle web app

Grazie a un grande investimento di denaro e tempo negli ultimi anni e al lavoro congiunto tra il team di Dart e Flutter, WebAssembly è ora un compilation target valido per il Web!

Ma aspetta, cos'è WebAssembly? Facciamo un piccolo passo indietro.

Il linguaggio di programmazione per il web è JavaScript, come tutti sappiamo. È un linguaggio dinamico con un interprete integrato nel browser, il che significa che non viene compilato in codice nativo, di conseguenza è più lento.

Quindi, alcuni anni fa, Google, Mozilla, Microsoft e Apple hanno collaborato per creare un nuovo linguaggio di programmazione a basso livello, simile all'Assembly, che sarebbe stato compilato ed eseguito a velocità nativa nel browser. Quel linguaggio si chiama WebAssembly.

Dart in precedenza compilava in JavaScript per consentire alle nostre app Flutter di funzionare sul web, ma ora può compilare anche in WebAssembly!

Ecco perché è 2 volte più veloce, perché gira nativamente nel browser.Immagina le possibilità, questa sì che è una notizia!

### Android 14 e componenti nativi

Flutter ora supporta al 100% Android 14 e porta la compatibilità a tutti i dispositivi, anche quando si utilizzano componenti nativi come Google Maps.

Quindi, anche se potresti già servire gli utenti di Android 14 (la tua app funzionerebbe correttamente) è comunque consigliato aggiornare a Flutter 3.22 per ottenere maggiore stabilità e migliorare le prestazioni e la stabilità dei componenti nativi.

### Gemini AI

Se come sviluppatore vuoi utilizzare Gemini AI e tutte le funzionalità AI che Google offre attualmente, allora devi usare Vertex AI:

Vertex AI è una piattaforma di sviluppo AI unificata per creare e utilizzare AI. Pensa alla generazione di testi, come ChatGPT + generazione di immagini/audio.

E abbiamo una grande novità qui!

Vertex AI è un prodotto Firebase e si integra anche con Dart & Flutter!

Se vuoi integrarlo nella tua app, ti lasciamo qui la documentazione ufficiale.

Documentazione Vertex AINel caso ti interessasse particolarmente e vorresti che creassimo un corso specifico, faccelo sapere rispondendo a questa email :)

### Dart 3.4

Dart 3.4 arriva con solo 2 nuove funzionalità, ma straordinarie! Stiamo parlando di WebAssembly come nuovo compilation target e macro.

Approfondiamo quest'ultima e vediamo come possiamo usarla in modo concreto.

Le macro sono una funzione presente nei linguaggi di programmazione più avanzati e permettono allo sviluppatore di generare più codice al momento della compilazione.

Analizziamo questa frase:

  • 1.

    Generare codice: invece di implementare manualmente del codice ripetitivo più e più volte, come la serializzazione/deserializzazione JSON, puoi usare una libreria o scrivere una macro che lo fa per te, e letteralmente scriverà il codice per te.

  • 2.

    Al momento della compilazione: la fase di generazione del codice avviene al momento della compilazione, il che significa che il codice viene compilato in codice macchina nativo ed è incredibilmente performante, senza alcuna penalità a runtime. Fantastico!

Vediamolo in pratica, prendendo come esempio uno degli usi più comuni a cui lo applicheremo: la codifica JSON.

Data una classe "UserModel" con una "email", utilizzeremo una macro chiamata "@JsonCodable" per generare automaticamente il metodo ".toJson" per noi.

Quando il compilatore Dart vede l'annotazione @JsonCodable(), genera più codice per gestire la serializzazione JSON per la classe, in modo da avere automaticamente un metodo ".toJson" senza doverlo scrivere.

Per chi fosse curioso di sapere come funziona internamente:

Dart ora supporta una nuova feature chiamata "augment", simile ai extension methods, che permette di iniettare codice nelle classi/funzioni.

Documentazione per augment

E nel caso tu voglia approfondire ulteriormente questo argomento, ti lasciamo il link alle note ufficiali su Medium:

Note ufficiali su Dart 3.4

## Cosa comportano questi aggiornamenti per i corsi?

Nessun corso Fudeo è deprecato, sono tutti validi e utilizzabili. Come sempre continueremo a monitorare ogni rilascio e, nel caso fosse necessario, saremo pronti ad aggiornare eventuali parti obsolete.

Siamo molto soddisfatti delle novità presentate al Google I/O, hanno rispettato la roadmap e migliorato le performance del framework.

Per scoprire tutte le altre novità presentate durante l'evento, questo è il link ufficiale di presentazione:

What's New in Flutter 3.22

Non vediamo l'ora di scoprire cosa ci riserverà il Team Flutter nei prossimi mesi!

Per questa edizione è tutto:

Se ti è piaciuta questa edizione della nostra newsletter mensile su Flutter, condividila a chi potrebbe interessare!

PS. ti hanno inoltrato questa newsletter e vorresti riceverla anche tu una volta al mese? Clicca qui per iscriverti gratuitamente.