Jetpack Compose, il nuovo toolkit dell'interfaccia utente di Google per Android, è ora in versione alpha

click fraud protection

Jetpack Compose, il toolkit dell'interfaccia utente di Google per lo sviluppo di app Android, è ora in versione alpha. È completamente interoperabile con le visualizzazioni standard di Android.

Quando si tratta di sviluppare un'app, ci sono molti modi per farlo. Puoi scegliere per quali piattaforme sviluppare, quali linguaggi di programmazione desideri utilizzare e molto altro ancora.

Nell'autunno del 2019, Google introdotto un nuovo framework per la creazione di interfacce utente in Android, utilizzando Kotlin. Fino ad ora è stato in uno stato di sviluppo, con frequenti modifiche di rilievo e tonnellate di funzionalità mancanti. Ma oggi, Google ha spinto Jetpack Compose allo stato di rilascio alpha, il che significa che è un passo avanti verso l'utilizzo in progetti di qualità produttiva.

Cos'è Jetpack Compose?

Quando crei un'app Android, di solito ci sono due componenti principali di cui devi occuparti: il codice, per le cose basate sulla logica; e l'XML, per i layout. Per impostazione predefinita, Android utilizza Java per il codice e il proprio set di tag XML per i layout.

Per molti, Java e XML vanno bene, soprattutto per le app più semplici. Ma entrambi i sistemi hanno i loro limiti e i loro fastidi. Con l'introduzione di Kotlin come file ufficiale (e consigliato) per lo sviluppo Android, il lato della codifica della creazione di un'app Android è probabilmente diventato molto più semplice. Con le pratiche funzionalità di Kotlin come la protezione nulla integrata e le funzioni di estensione, il codice appare più pulito ed è più facile da leggere.

Ma Kotlin non ha cambiato nulla con i layout di Android. Per creare un layout complesso, dovevi comunque creare un file XML e progettarlo lì. Ciò presenta alcuni notevoli svantaggi, inclusa la separazione intrinseca tra il codice e XML. Se hai una stringa costante nel tuo codice, ad esempio, non puoi semplicemente farvi riferimento da XML, quindi se quella stringa cambia nel codice, devi ricordarti di aggiornarla anche in XML.

Inserisci Jetpack Compose. Questa è la risposta di Google al processo di progettazione del layout XML sempre più goffo in Android. Invece di progettare l'interfaccia utente della tua app in XML, puoi farlo direttamente dal tuo codice. Sebbene sia possibile creare layout basati su codice, di solito sono meno gestibili di XML e coinvolgono librerie facilmente danneggiabili. Compose, invece, è progettato per funzionare direttamente all'interno di Kotlin: niente più XML.

Jetpack Compose rappresenta anche un allontanamento piuttosto radicale dalla progettazione imperativa standard dei layout XML. Invece, è più simile a React o Flutter, con layout dichiarativi che si aggiornano automaticamente quando i dati cambiano, invece di fare affidamento sullo sviluppatore per implementare quella logica.

Cosa è supportato

Quindi Jetpack Compose è ora in versione alpha. Che cosa significa? Beh, un sacco di cose.

Interoperabilità con le visualizzazioni

Proprio come Kotlin è completamente interoperabile con Java, Jetpack Compose è completamente interoperabile con le visualizzazioni standard di Android. Questo significa parecchie cose.

Per prima cosa, sarà molto più semplice migrare a Jetpack Compose, se lo desideri. Invece di dover convertire tutte le viste e i layout personalizzati in elementi componibili, potrai semplicemente creare i tuoi nuovi layout e componenti in Compose. Hai una libreria che utilizza visualizzazioni "legacy", ma la tua app è progettata con Compose? Nessun problema. Puoi aggiungere la Vista direttamente nella tua funzione Composable. Non sei ancora passato a Compose, ma desideri utilizzare una libreria che si affida ai Composables? Ancora una volta, nessun problema. Basta inserire il Composable direttamente nel tuo layout.

Per quanto riguarda i temi, non è così plug-and-play quanto l'interoperabilità del layout. Tuttavia, Google ha creato una libreria per adattare i tuoi temi XML standard in temi compatibili con Compose, contribuendo a mantenere le cose centralizzate ed evitare duplicazioni.

Animazioni

Non c'è molto da dire qui, tranne che Jetpack Compose supporta le animazioni, proprio come il framework View di Android. Puoi spostare, ridimensionare e ruotare a tuo piacimento.

Elenchi pigri

Una lista pigra è essenzialmente la versione di Compose di RecyclerView. Dispone gli elementi solo in base alle necessità, risparmiando sulla RAM e aumentando le prestazioni. Naturalmente, trattandosi di Compose, le liste sono molto più semplici da implementare.

VincoloLayout

Una delle visualizzazioni più potenti in Android è ConstraintLayout. Ciò ti consente di posizionare, dimensionare e pesare le visualizzazioni secondarie l'una rispetto all'altra, semplificando al tempo stesso alcune animazioni. Se eri preoccupato di perdere questa funzionalità in Compose, non dovresti esserlo, perché è anche qui.

Componenti dell'interfaccia utente materiale

Un altro insieme di visualizzazioni potenti è la libreria dei componenti materiali di Google. La maggior parte di ciò che è contenuto qui sono viste e layout standard che puoi trovare nel framework di visualizzazione nativo. Ma sono stati ottimizzati o incapsulati per fornire funzionalità extra e rendere più semplice la creazione di temi, e sono arrivati ​​anche a Compose.

Test

Una parte importante dello sviluppo di un'app è testarla. Per un'app semplice, puoi farlo manualmente installandolo e utilizzandolo. Tuttavia, i progetti più complessi possono trarre grandi vantaggi dai framework di test automatizzati che svolgono la maggior parte del duro lavoro per te. Jetpack Compose supporta i test automatizzati in modo da poter rendere la tua app il più stabile possibile.

Funzionalità di accessibilità

L’accessibilità è una parte importante della nostra società. Senza le funzionalità di accessibilità della nostra tecnologia, molte persone sarebbero semplicemente escluse dai vantaggi offerti dai nostri telefoni, televisori e qualsiasi altra cosa. Jetpack Compose è ancora in versione alpha, quindi il supporto per l'accessibilità non è completo, ma Google lo tiene presente durante lo sviluppo ed è già presente un supporto rudimentale.

Studio Android

Tuttavia, non tutte le funzionalità di Jetpack Compose sono presenti in Jetpack Compose stesso. Android Studio e Kotlin dispongono anche di plug-in ed espansioni per facilitare la composizione.

Plug-in del compilatore Kotlin

Come con Kotlin JVM, in Android Studio è presente un plug-in del compilatore per convertire correttamente le funzioni di composizione in codice che Android può effettivamente comprendere e seguire.

Anteprime interattive

Proprio come con i layout XML standard, Android Studio viene fornito con un'anteprima del layout per Jetpack Compose. Anche se al momento non è così conveniente come le anteprime XML per alcuni aspetti, devi creare il tuo progetto l'anteprima da aggiornare e creare una funzione di anteprima dedicata: presenta un notevole vantaggio: interattivo anteprime.

Un'anteprima interattiva è solo un'anteprima normale, ma interattivo. Pazzesco, lo so. Ciò significa, tuttavia, che puoi effettivamente digitare testo in caselle di testo, fare clic su pulsanti e, beh, interagire con i tuoi componenti componibili, senza nemmeno doverli distribuire.

Distribuzione componibile singola

Se desideri effettivamente distribuire (ovvero installare) il tuo layout per vedere come funziona su un dispositivo reale, questa funzionalità potrebbe aiutarti. Con i normali layout XML, per vedere come funziona un layout nel mondo reale, devi creare e installare l'intera app. Se il layout che desideri testare non è nella schermata principale, potresti dover toccare molto per accedervi.

Ed è qui che entra in gioco la possibilità di schierare un solo Composable. Invece di dover creare e installare la tua app e poi passare al layout che stai testando, puoi semplicemente distribuire il layout. Android Studio genererà e aprirà un'attività wrapper che visualizza solo il componibile distribuito. Ciò può rendere i test e la progettazione molto più rapidi e può anche aiutare a isolare i problemi relativi all'interazione degli elementi.

Completamento del codice

Se il tuo IDE non ha il completamento del codice, è anche un IDE? No. No, non lo è. Quindi, ovviamente, Android Studio supporta il completamento completo del codice per Jetpack Compose.


Anche se questo non è tutto ciò che Jetpack Compose offre, le funzionalità e il comportamento di cui sopra mostrano quanto potente Google voglia che sia questo framework. E, anche se è ancora in fase alpha, è un passo avanti rispetto al suo precedente stato di "sviluppo". Se stavi trattenendo davvero l'utilizzo di Jetpack Compose (come ho fatto io), ora potrebbe essere il momento di fare un altro tentativo.