Monzo crea un'app più solida e di qualità superiore con Compose

Monzo è una banca e un'app che offre servizi finanziari digitali. La sua missione è far sì che i soldi apprognino a tutti. Poiché il sistema di progettazione di Monzo ha iniziato ad abbandonare il Material Design, l'azienda voleva un modo semplice per scrivere e gestire componenti personalizzati in continua evoluzione, perciò ha scelto Jetpack Compose.

Cosa hanno fatto

Con Compose, i componenti di Material Design vengono forniti come livello rispetto alle API di base indipendenti dal sistema di progettazione. Monzo ha usato le API di base per creare la propria libreria di componenti, usando i componenti Material come riferimento. Ha iniziato eseguendo la migrazione di una schermata alla volta e ora utilizzando Scrivi in tutte le nuove schermate. Ora Compose è utilizzato in produzione da tutti gli ingegneri di Android: "Non abbiamo riscontrato grossi problemi e quindi ci siamo sentiti abbastanza sicuri da iniziare a usarlo per alcune nuove funzionalità e, infine, per tutte le nuove funzionalità."

Risultati

Il team di Monzo ha creato componenti che consentono di creare facilmente nuove schermate: "I componenti che forniamo immediatamente consentono di creare uno schermo mentre impari a Compose un'esperienza molto più fluida. Le API basate su slot sono un pattern fantastico che ci consente di creare componenti più grandi a partire da molti piccoli componenti di base."

Con Compose, il team di Monzo è stato in grado di creare un'app di qualità superiore, aggiungendo splendide funzionalità che in precedenza non potevano acquisire nei loro sprint: "Un esempio sono le animazioni: sono così facili da aggiungere in Compose che non c'è pochissimo motivo per non animare oggetti come le variazioni di colore, dimensione e altitudine. Queste animazioni "graziose" sono spesso troppo difficili per valere lo sforzo e la complessità del sistema di visualizzazione".

Il suo codice ora è più breve ed è più facile da leggere, comprendere e gestire: "il codice dichiarativo è molto più facile da ragionare rispetto al codice che manipola una gerarchia di UI modificabile. Inoltre, è molto più facile da tracciare nel codice quando è tutto scritto nello stesso linguaggio e spesso nello stesso file, anziché passare da Kotlin e XML. Dammi solo temi e stili XML. La funzionalità dei temi è molto più facile da comprendere in Compose. Il nostro tema è costituito solo dalle proprietà che definiamo, i valori sono coerenti nei vari dispositivi e, poiché è in Kotlin, è molto facile cercare e seguire nell'IDE."

Compose ha consentito al team di Monzo di testare facilmente l'app e assicurarsi che fosse accessibile: "Ci ha aiutato a scrivere test meno fragili, eseguiti in modo affidabile e ci dà la certezza che la nostra app funzioni effettivamente nelle mani dei nostri utenti. I test tramite il sistema di semantica assicurano inoltre che i nostri schermi siano almeno ragionevolmente accessibili per impostazione predefinita."

Inizia

Scopri di più su Compose.