Monzo è una banca e un'app che offre servizi finanziari digitali. La sua missione è far fruttare il denaro per tutti. Il sistema di design di Monzo ha iniziato ad allontanarsi da Material Design, quindi il team voleva un modo semplice per scrivere e gestire componenti personalizzati in costante evoluzione, perciò 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, 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 sprint: "Un esempio sono le animazioni: sono così facili da aggiungere in Compose che non c'è quasi motivo per non animarle, ad esempio 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 codice ora è più breve, più facile da leggere, comprendere e manutenere: "Il codice dichiarativo è molto più facile da comprendere rispetto al codice che manipola una gerarchia dell'interfaccia utente mutabile. 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. La creazione di temi è molto più facile 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 Scrivi.