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, pertanto voleva un modo semplice per scrivere e gestire componenti personalizzati in costante evoluzione. Per questo ha scelto Jetpack Compose.
Cosa è stato fatto
Con Compose, i componenti di Material Design vengono forniti come livello rispetto alle 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, ora utilizzano Componi in tutte le nuove schermate. Ora Compose viene utilizzato in produzione da tutti gli ingegneri Android: "Non abbiamo riscontrato problemi importanti, quindi ci siamo sentiti abbastanza sicuri per iniziare a utilizzarlo per alcune nuove funzionalità selezionate e, in definitiva, 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 "belle da avere" sono spesso troppo difficili per valere l'impegno e la complessità del sistema di visualizzazione."
Il loro codice ora è più breve ed è più facile da leggere, capire e gestire: "Il codice dichiarativo è molto più facile da ragionare rispetto al codice che manipola una gerarchia dell'interfaccia utente modificabile. Inoltre, è molto più facile analizzare il codice quando è scritto tutto nella stessa lingua e spesso nello stesso file, anziché passare da Kotlin a XML e viceversa. Non voglio nemmeno parlare di temi e stili XML. I temi sono molto più facili da comprendere in Compose. Il nostro tema è costituito solo dalle proprietà che definiamo, i valori sono coerenti su tutti i dispositivi e, poiché è in Kotlin, è molto facile da cercare e seguire nell'IDE."
Compose ha permesso al team di Monzo di testare facilmente la propria app e di assicurarsi che sia accessibile: "Ci ha aiutato a scrivere test meno fragili, a eseguirli in modo affidabile e a darci molta fiducia che la nostra app funzioni effettivamente 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 Compose.