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, così 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 a eseguire la migrazione di 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 l'esperienza di creazione di una schermata durante l'apprendimento di Compose 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 c'è quasi nessun motivo per non animare elementi come modifiche di colore, dimensioni ed elevazione. Queste animazioni "nice to have" sono spesso troppo difficili da implementare per giustificare lo sforzo e la complessità nel sistema View."
Ora il codice è più breve ed è 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 nemmeno 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 nel fatto 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.