Monzo è una banca e un'app che offre servizi finanziari digitali. La sua mission è far sì che il denaro funzioni per tutti. Il sistema di progettazione di Monzo ha iniziato a discostarsi da Material Design, quindi l'azienda voleva un modo semplice per scrivere e gestire componenti personalizzati in continua 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 libreria di componenti, utilizzando i componenti Material come riferimento. Ha iniziato la migrazione una schermata alla volta e ora utilizza Compose 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 da iniziare a utilizzarlo 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 durante l'apprendimento di Compose un'esperienza molto più fluida. Le API basate su slot sono un pattern fantastico che ci consente di creare facilmente componenti più grandi da molti piccoli blocchi di creazione."
Con Compose, il team di Monzo è riuscito a creare un'app di qualità superiore, aggiungendo funzionalità piacevoli che in precedenza non era riuscito a inserire nei sprint: "Un esempio sono le animazioni: sono così facili da aggiungere in Compose che non ci sono molti motivi per non animare elementi come modifiche di colore, dimensioni o elevazione. Queste animazioni "nice to have" sono spesso troppo difficili da implementare per valere la pena di affrontare lo sforzo e la complessità del sistema View."
Ora il codice è più breve, più facile da leggere, comprendere e gestire: “Il codice dichiarativo è molto più facile da comprendere rispetto al codice che manipola una gerarchia dell'interfaccia utente modificabile. Inoltre, è molto più facile tracciare il codice quando è scritto tutto nella stessa lingua e spesso nello stesso file, anziché passare avanti e indietro tra Kotlin e XML. Non fatemi iniziare a parlare di temi e stili XML! L'applicazione 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 cercarlo e seguirlo nell'IDE."
Compose ha consentito al team di Monzo di testare facilmente l'app e di assicurarsi che sia accessibile: "Ci ha aiutato a scrivere test meno fragili, che vengono eseguiti in modo affidabile, e ci danno molta fiducia che la nostra app funzioni effettivamente nelle mani dei nostri utenti. Il test tramite il sistema semantico garantisce inoltre che le nostre schermate siano almeno ragionevolmente accessibili per impostazione predefinita."
Inizia
Scopri di più su Compose.