Jetpack Compose è il moderno toolkit di Android per la creazione di UI native. Semplifica e accelera lo sviluppo dell'interfaccia utente su Android dando vita alle tue app con meno codice, strumenti potenti e API Kotlin intuitive. Rende la creazione di UI Android più facile e veloce. Durante la creazione di Compose, abbiamo collaborato con diversi partner che hanno sperimentato tutti questi vantaggi in prima persona e condiviso alcuni dei loro concetti chiave.

Meno codice

Scrivere meno codice incide su tutte le fasi dello sviluppo: come autore, puoi concentrarti sul problema in questione, con meno operazioni di test e debug e meno possibilità di bug; in qualità di revisore o gestore hai meno codice da leggere, comprendere, rivedere e gestire.

Compose ti consente di fare di più con meno codice rispetto al sistema Android View: pulsanti, elenchi o animazioni: qualunque cosa ti serva, ora c'è meno codice da scrivere. Ecco cosa dicono alcuni dei nostri partner:

  • "Per la stessa classe di Button, [il codice] era inferiore di 10 volte." (Twitter)
  • "Si registra anche una riduzione significativa per qualsiasi schermo realizzato con RecyclerView, che è la maggior parte dei nostri schermi." (Monzo)
  • "Siamo stati molto contenti di vedere quanto fossero necessarie poche righe per creare elenchi o animazioni nella nostra app. Stiamo scrivendo meno righe di codice per funzionalità, il che ci consente di concentrarci maggiormente sull'offerta di valore ai nostri clienti." (Cuvva)

Il codice che stai scrivendo è scritto solo in Kotlin, invece di essere suddiviso tra Kotlin e XML: "È molto più facile tracciare il codice quando è tutto scritto nello stesso linguaggio e spesso nello stesso file, piuttosto che passare da Kotlin a XML" (Monzo)

Il codice scritto con Compose è semplice e facile da gestire qualsiasi cosa tu stia creando. "Il sistema di layout di Compose è concettualmente più semplice, quindi è più facile ragionare. È anche più facile leggere il codice per componenti complicati." (Quadrato)

Intuitiva

Compose utilizza un'API dichiarativa, il che significa che tutto ciò che devi fare è descrivere la tua UI: Compose si occuperà di tutto il resto. Le API sono intuitive, facili da scoprire e usare: "Il nostro livello di temi è molto più intuitivo e leggibile. Siamo riusciti a realizzare all'interno di un unico file Kotlin ciò che altrimenti si estendeva a più file XML responsabili delle definizioni e delle assegnazioni degli attributi tramite overlay di temi a più livelli." (Twitter)

Con Compose, puoi creare piccoli componenti stateless che non sono legati a un'attività o un frammento specifico. Questo li rende facili da riutilizzare e testare: "Ci siamo prefissati l'obiettivo di fornire un nuovo insieme di componenti di interfaccia utente stateless, facili da usare e da gestire e intuitivi da implementare/estendere/personalizzare. Compose ci ha davvero fornito una solida risposta in questo." (Twitter)

In Scrivi, lo stato è esplicito e viene passato al componente componibile. In questo modo lo stato ha un'unica fonte attendibile, che lo rende incapsulato e disaccoppiato. Successivamente, quando lo stato dell'app cambia, la UI si aggiorna automaticamente. "C'è meno da tenere in testa mentre ragioni su qualcosa e meno comportamenti che esulano dal tuo controllo o che sono poco compresi" (Cuvva)

Accelera lo sviluppo

Scrivi è compatibile con tutto il tuo codice esistente: puoi chiamare il codice di Scrivi da Visualizzazioni e Visualizzazioni da Scrittura. Le librerie più comuni come Navigation, ViewModel e Kotlin coroutines funzionano con Compose, quindi puoi iniziare ad adottare quando e dove vuoi. "L'interoperabilità è stata la fase in cui abbiamo iniziato a integrare Compose, e abbiamo scoperto che funzionava. Ci siamo resi conto che non dovevamo pensare a opzioni come la modalità Luce e la modalità Buio e l'intera esperienza è stata incredibilmente fluida." (Cuvva)

Grazie al supporto completo di Android Studio, con funzionalità come le anteprime in tempo reale, puoi eseguire l'iterazione e distribuire il codice più velocemente: "Le anteprime in Android Studio ci hanno fatto risparmiare molto tempo. La creazione di più anteprime ci consente inoltre di risparmiare tempo. Spesso dobbiamo controllare un componente dell'interfaccia utente in stati diversi o con impostazioni diverse, come gli stati di errore, o con una dimensione del carattere diversa e così via. Grazie alla possibilità di creare più anteprime, possiamo verificarlo facilmente." (Quadrato)

Potenza

Compose ti consente di creare app fantastiche con accesso diretto alle API della piattaforma Android e supporto integrato per Material Design, tema scuro, animazioni e altro ancora: "Compose ha anche risolto più che l'interfaccia utente dichiarativa: API per l'accessibilità, layout e tutti i tipi di elementi sono stati migliorati. Ci sono meno passaggi tra la realizzazione del prodotto e la realizzazione" (Quadrato).

Con Compose, rendere le tue app più dinamiche e veloci da implementare è facile e veloce: "Le animazioni sono così facili da aggiungere in Compose che ci sono pochissimi motivi per non animare elementi come i cambiamenti di colore, dimensione/elevazione", "puoi creare animazioni senza richiedere nulla di speciale. Non è diverso che mostrare uno schermo statico" (Quadrato).

Indipendentemente dal fatto che tu stia costruendo con Material Design o con il tuo sistema di progettazione, Compose ti offre la flessibilità di implementare il design che vuoi: "Avere il Material Design separato dalle fondamenta ci è stato davvero utile, dato che stiamo costruendo il nostro sistema di progettazione che spesso richiede requisiti di progettazione diversi rispetto a Material". (Square)

Dai un'occhiata ai case study approfonditi per scoprire di più su come Twitter, Square, Monzo e Cuvva utilizzano Compose.