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 fruttare il denaro per tutti. Il sistema di progettazione di Monzo ha iniziato a discostarsi dal Material Design, per cui desideravano un modo semplice per scrivere e gestire componenti personalizzati in continua evoluzione, così ha scelto Jetpack Compose.

Cosa è stato fatto

Con Compose, i componenti Material Design vengono forniti come livello sopra le API di base indipendenti dal sistema di progettazione. Monzo ha utilizzato le API di base per creare la propria raccolta di componenti, utilizzando i componenti Material come riferimento. Hanno iniziato eseguendo la migrazione di una schermata alla volta, ma ora utilizzano Componi in tutte le nuove schermate. Ora Compose viene utilizzata in produzione da tutti gli ingegneri di Android: " non abbiamo riscontrato problemi gravi, quindi ci siamo sentiti abbastanza sicuri utilizzandolo per alcune nuove funzionalità selezionate 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 rendono la creazione di una schermata mentre impari a utilizzare Compose un'esperienza molto più fluida. Le API basate su slot sono un fantastico pattern che ci consente di creare componenti più grandi da molti piccoli blocchi di costruzione."

Con Compose, il team di Monzo è stato in grado di creare un'app di qualità superiore, aggiungendo funzionalità interessanti che in precedenza non potevano essere raggiunte nelle loro sprint: "Un esempio sono le animazioni: sono così facili da aggiungere in Compose che non c'è quasi motivo per non animarle, come le modifiche di colore/dimensioni/elevazione. Queste animazioni "gradite" sono spesso troppo difficili per essere utili in termini di impegno e complessità nel sistema View."

Il loro codice è ora più breve ed è più facile da leggere, comprendere mantenere: "Il codice dichiarativo è molto più facile da ragionare rispetto al codice che manipola una gerarchia dell'interfaccia utente modificabile. Inoltre, è molto più facile eseguire il tracing del codice quando è tutto scritto nella stessa lingua e spesso nello stesso file, anziché passare da Kotlin a XML e viceversa. Non voglio neanche iniziare su XML temi e stili. La creazione di temi è molto più facile da comprendere in Compose. Il nostro tema consiste solo nelle proprietà che definiamo, i valori sono coerenti e poiché è in Kotlin, cercare e seguire l'IDE".

Compose ha consentito al team di Monzo di testare facilmente la propria app e di verificare che lo fosse accessibile: "Ci ha aiutato a scrivere test meno fragili, eseguiti in modo affidabile e avere molta fiducia che la nostra app funzioni davvero nelle mani dei nostri utenti. I test tramite il sistema di semantica garantiscono inoltre che le nostre schermate siano almeno ragionevolmente accessibili per impostazione predefinita."

Inizia

Scopri di più su Scrivi.