Tutti i corsiTutti gli articoli
Cosa ci aspettiamo da Flutter 4 e cosa c'è di nuovo in Flutter 3.16

Cosa ci aspettiamo da Flutter 4 e cosa c'è di nuovo in Flutter 3.16

Aggiornato il17.gen.2024/Team Fudeo/4 minuti

Da oggi parte la newsletter mensile su Flutter: solo gli argomenti che riteniamo più interessanti per tenerti aggiornato e non farti trovare impreparato sul futuro. Entriamo subito nel vivo.

Flutter 4 è la prossima grande release di Flutter e, anche se non è ancora ufficiale, vogliamo provare ad anticipare cosa ci aspetta! Ovviamente basiamo le nostre supposizioni sulle risorse ufficiali a nostra disposizione, dato che Flutter è un framework open source sviluppato apertamente su GitHub: documenti, roadmap ufficiali e problemi aperti.

Il prossimo Google I/O 2024 sarà tra maggio e giugno, evento in cui ci aspettiamo l'annuncio della nuova versione Flutter. Tieni presente che non necessariamente tutto ciò che leggerai qui sarà presente nella release di Flutter 4, le probabilità sono comunque alte e offre una panoramica di cosa si aspetta la community di sviluppatori!

In breve, ecco le novità attese per Flutter e Dart:

  • Impeller stabile per Android e iOS

  • Aggiornamento del plugin della fotocamera per Android alle API di CameraX

  • Più componenti Cupertino

  • Componenti lazy per tables e trees con grosse quantità di dati

  • Componente drag&drop

  • Multi finestra per Desktop

  • Metaprogrammazione statica per Dart

## Impeller

Google ha iniziato a lavorare su Impeller nel 2022 come risposta ad alcune ottimizzazioni che erano necessarie fare a Skia, il motore grafico attuale di Flutter.

Impeller è il nuovo motore di rendering che mira a migliorare principalmente la velocità di avvio e di navigazione tra le pagine nelle app Flutter. A differenza del precedente motore di rendering, Impeller adotta un approccio proattivo: precompila un set ottimizzato di istruzioni grafiche durante la fase di compilazione, così che gli elementi visivi dell'app siano pronti quando gli utenti interagiscono, assicurando prestazioni migliori.

Insomma, per farla breve, Impeller porta una serie di avanzamenti tecnici al tavolo. Immaginalo come un'ottimizzazione del tuo codice prima dell’esecuzione, questo permetterà più fluidità.

Roadmap:https://github.com/orgs/flutter/projects/21

Presentazione video:https://www.youtube.com/watch?v=gKrYWC_SDxQ

## Più componenti Cupertino

La maggior parte delle volte si utilizzano i componenti dalla libreria Material per sviluppare app Flutter. A volte, però, è utile utilizzare anche dei componenti dalla libreria Cupertino, quando offrono un'esperienza utente migliore.

Ecco, probabilmente questa pratica sarà ancora più frequente dato che il team di Flutter sta lavorando per aggiungere più componenti nativi di Apple alla libreria Cupertino.

## Plugin della fotocamera per Android

Aggiornamento alle API di CameraX, che porta una migliore compatibilità e velocità.

https://github.com/flutter/packages/tree/main/packages/camera/camera

## Lazy tables

Per grandi tabelle con grosse quantità di dati il team di Flutter sta lavorando per sviluppare un componente nativo che carica i dati dinamicamente quando necessario, assicurando velocità di 120fps e scorrimenti fluidi.

https://github.com/flutter/flutter/issues/87370

## Libreria interna di drag&drop

Il team di Flutter si è unito agli autori del plugin super_drag_and_drop per portare internamente le funzionalità attraverso un componente dentro la libreria Material.

https://github.com/flutter/flutter/issues/30719

## Multi finestra per Desktop

Capacità di aprire più finestre desktop mantenendo in esecuzione in background un singolo motore Flutter, portando ad un minor consumo di memoria e una migliore esperienza utente nativa.

https://github.com/orgs/flutter/projects/39/views/1

## Dart Metaprogramming

Dart è un linguaggio di programmazione moderno utilizzato per sviluppare app Flutter, è simile a linguaggi come Java e C# ma allo stesso tempo sta innovando su vari fronti, come i tipi nullable e le extension functions.

Ora il team sta lavorando per aggiungere a Dart le capacità di metaprogrammazione, note anche come macro, permettendo al codice di essere eseguito al momento di compilazione e di generare automaticamente altro codice o di cambiare il comportamento di intere funzioni.

Sarà possibile, ad esempio, generare automaticamente serializzatori e deserializzatori JSON per le nostre classi con una sola riga di codice, mantenendo la sicurezza del tipo e senza generare codice boilerplate. Un ulteriore risparmio di tempo!

https://github.com/dart-lang/language/issues/1482https://github.com/dart-lang/language/tree/main/working/macros

## Cosa c'è di nuovo in Flutter 3.16

Una veloce panoramica delle novità più importanti presenti nell'ultima release Flutter, online da metà novembre 2023.

## Material 3 è il nuovo standard

Material 3, il linguaggio grafico per il design delle app Android, fino a prima del rilascio della 3.16 era già presente in Flutter ma era necessario abilitarlo manualmente specificando “useMaterial3: true” su MaterialApp.

Ora è abilitato di default su tutte le app buildate con 3.16 e successive ed è possibile disabilitarlo semplicemente impostando “useMaterial3: false”.

## Impeller in modalità anteprima per Android

Impeller, il nuovo motore di rendering Flutter che mira a sostituire Skia e portare prestazioni migliori, è ora disponibile per essere testato anche per le app Android.

È un lavoro incredibile quello che sta facendo il team Flutter:

Impeller mira in particolare a stabilizzare tutte le app a un costante 120 fps, anche quando vengono usate molte animazioni e shaders.

Al momento la versione Android si sta concentrando sulla compatibilità con le API di Vulkan, il che significa sostanzialmente supportare gli smartphone più recenti.

Un’altra versione, basata su OpenGL, è attualmente in fase di sviluppo, che porterà il supporto al resto degli smartphone Android.

## Flutter Games Toolkit

Negli ultimi anni sono stati pubblicati decine di migliaia di giochi utilizzando Flutter, da semplici ma divertenti puzzle a giochi arcade più complessi.

Per aiutare gli sviluppatori di giochi a diventare più produttivi, Flutter mette a disposizione una collezione di nuove risorse per aiutarli a passare dal concept al lancio più facilmente:

  • nuovi template specifici per il game (uno per i giochi di carte e uno per gli endless runner)

  • integrazioni di servizi come Play Games Services, in-app purchase, ads, achievements, crashlytics e supporto multiplayer

## Interfaccia utente di VSCode

Grazie all’incredibile lavoro del membro della community Flutter DanTup, l’estensione Flutter di VSCode ora ha una barra laterale che ti permette facile accesso a:

  • Aprire le schermate Flutter DevTools

  • Visualizzare le sessioni di debug attive

  • Visualizzare i dispositivi disponibili

  • Creare nuovi progetti

  • Hot reload e restart

  • Eseguire Flutter Doctor -v

  • E molto altro

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.