Google ha rilasciato Jetpack Compose in Beta, il motore dell'interfaccia utente dichiarativo dell'azienda scritto in Kotlin realizzato per semplificare lo sviluppo dell'interfaccia utente.
Eccoci di nuovo. Ho scritto di Jetpack Compose, il nuovo motore dell'interfaccia utente di Google, quando è stato lanciato alfa, e ancora quando JetBrains lo ha portato su piattaforme desktop. Oggi è disponibile la versione beta di Jetpack Compose.
Nel caso in cui non sei aggiornato su tutte le nuove tecnologie dell'interfaccia utente esistenti (non ti biasimo) e non vuoi per leggere quegli altri articoli (ora ti biasimo), ecco una breve descrizione di cosa si tratta. Jetpack Compose è un motore dell'interfaccia utente dichiarativo scritto in Kotlin che mira a sostituire (o almeno essere una valida alternativa per) i classici motori dell'interfaccia utente imperativi, come i layout XML di Android. Non entrerò nella differenza tra layout dichiarativi e imperativi, quindi diciamo solo che Jetpack Compose è un potente motore di layout di solo codice che può rendere l'implementazione dell'interfaccia utente molto più semplice.
Detto questo, cosa significa esattamente una versione beta di Compose? Bene vediamo.
API
Ogni buon framework necessita di un'API (per definizione). Nelle fasi pre-alpha e alfa, Google ha lavorato duramente per creare l'API di Compose affinché fosse il più intuitiva e utile possibile. E proprio come ogni buon progetto, ha subito molte revisioni. L'utilizzo di Compose in queste fasi potrebbe essere difficile poiché le API potrebbero essere rimosse o rinominate senza troppi avvisi.
Ora che siamo nella fase beta, Google è sicuro che l'API sia completa e stabile. Ciò significa niente più rimozioni o modifiche (drastiche), quindi puoi dedicare più tempo alla realizzazione effettiva della tua app piuttosto che al passo con le modifiche dell'API.
Naturalmente, un'API stabile non significa immutabile. Google aggiungerà ancora funzionalità e modificherà elementi, ma ora ci saranno avvisi di deprecazione e cicli di sostituzione adeguati.
Supporto della coroutine
Ricorda quando Google deprecato AsyncTask in Android e tutti erano preoccupati e poi se ne sono dimenticati del tutto? Probabilmente puoi ringraziare il framework coroutine di Kotlin per questo. Nella sua forma più elementare, sostituisce AsyncTask, ma è anche molto più potente, molto più flessibile e molto più multipiattaforma.
Mentre Jetpack Compose ha una specie di supportato l'uso delle coroutine, è stato principalmente un livello di interoperabilità. Con la versione beta, tuttavia, le coroutine sono integrate in Compose, quindi puoi utilizzare nuovamente correttamente le chiamate asincrone.
Animazioni
Le animazioni possono essere un po' fastidiose da realizzare in Android e, per un po', sono state presenti anche in Compose. Nella beta, tuttavia, Google promette un'API di animazioni "facile da usare" per rendere le cose più facili. Hanno anche aggiornato Android Studio per includere il supporto per l'anteprima di queste animazioni, quindi non è necessario distribuire l'app per testarle.
Layout
Android Studio ha alcuni strumenti piuttosto utili per gestire i layout. Uno è l'anteprima del layout, che ti consente di vedere approssimativamente come apparirà il tuo layout su un dispositivo, e il l'altro è l'ispezione del layout, che ti consente di vedere esattamente cosa sta succedendo al layout della tua app quando è su un dispositivo.
Prima d'ora, l'anteprima del layout funzionava con i layout Compose, ma dovevi ricostruire la tua app ogni volta che cambiavi qualcosa per l'aggiornamento dell'anteprima. Ora che siamo in versione beta, Android Studio è stato aggiornato per includere anteprime dal vivo del tuo codice Compose.
Inoltre, prima d'ora, l'ispettore del layout essenzialmente non funzionava con i layout di Compose. Mostrerebbe uno screenshot dell'app, ma non è stato in grado di estrarre e mostrare effettivamente un wireframe di tutti i componenti del layout. Proprio come con l'anteprima del layout, Android Studio è stato aggiornato con un nuovo ispettore del layout che supporta i layout Compose.
Rispondere
Parliamo ora dell'accessibilità, una caratteristica incredibilmente importante che purtroppo di solito viene dimenticata. Per fortuna Google non ha dimenticato, anche se sarebbe potuto arrivare prima: ora supporta i layout Compose Rispondere, un lettore di schermo avanzato su Android che ti legge i contenuti e ti consente di interagire con il display utilizzando semplici gesti.
Anche se per ora questa è l'unica funzionalità di accessibilità importante, Google ha promesso che, quando sarà stabile, verranno aggiunte altre funzionalità di accessibilità. Meglio tardi che mai, immagino, e si spera che queste funzionalità siano più strettamente integrate con Compose rispetto a XML.
E questo è praticamente tutto.
Se vuoi iniziare con Jetpack Compose, ora è il momento giusto. Hai un'API completa di funzionalità con cui giocare e imparare, oltre a numerosi tutorial direttamente da Google. Guardare Sito web degli sviluppatori di Google per ulteriori informazioni sugli aggiornamenti e su come utilizzare Compose.
E, naturalmente, dicci cosa ne pensi dei cambiamenti nella beta o della tua opinione su Compose in generale.