Monzo crée une application plus robuste et de meilleure qualité avec Compose

Monzo est une banque et une application qui propose des services financiers numériques. Sa mission est de rendre l'argent accessible à tous. Le système de conception de Monzo commençant à s'écarter de Material Design, l'entreprise souhaitait écrire et gérer facilement des composants personnalisés en constante évolution. Elle a donc choisi Jetpack Compose.

Ce qu'ils ont fait

Avec Compose, les composants Material Design sont fournis sous forme de couche au-dessus des API de base indépendantes du système de conception. Monzo a utilisé les API de base pour créer sa propre bibliothèque de composants, en s'appuyant sur les composants Material. Ils ont commencé par migrer un écran à la fois et utilisent désormais Compose dans tous les nouveaux écrans. Aujourd'hui, Compose est utilisé en production par tous les ingénieurs Android : "Nous n'avons rencontré aucun problème majeur. Nous nous sommes donc sentis suffisamment confiants pour commencer à l'utiliser pour certaines nouvelles fonctionnalités, puis pour toutes les nouvelles fonctionnalités."

Résultats

L'équipe Monzo a créé des composants qui lui permettent de créer facilement de nouveaux écrans : "Les composants que nous fournissons prêts à l'emploi rendent la création d'un écran tout en apprenant Compose beaucoup plus fluide. Les API basées sur des emplacements sont un excellent modèle qui nous permet de créer très facilement des composants plus grands à partir de nombreux petits blocs de construction."

Avec Compose, l'équipe Monzo a pu créer une application de meilleure qualité, en ajoutant des fonctionnalités intéressantes qu'elle n'avait pas pu intégrer lors de ses sprints : "Les animations, par exemple, sont si faciles à ajouter dans Compose qu'il n'y a pratiquement aucune raison de ne pas animer des éléments tels que les changements de couleur, de taille ou d'élévation. Ces animations "agréables" sont souvent trop difficiles à mettre en œuvre pour justifier l'effort et la complexité dans le système View."

Leur code est désormais plus court, plus facile à lire, à comprendre et à gérer : "Le code déclaratif est beaucoup plus facile à interpréter que le code qui manipule une hiérarchie d'UI mutable. Il est également beaucoup plus facile de tracer le code lorsqu'il est écrit dans le même langage et souvent dans le même fichier. Plus besoin de jongler entre le Kotlin et le XML. Et ne me lancez pas sur les thèmes et styles XML ! Dans Compose, il est beaucoup plus facile de comprendre le thème. Notre thème ne se compose que des propriétés que nous définissons. Les valeurs sont cohérentes sur tous les appareils et, comme il est en Kotlin, il est très facile à rechercher et à suivre dans l'IDE."

Compose a permis à l'équipe Monzo de tester facilement son application et de s'assurer qu'elle était accessible : "Cela nous a aidés à écrire des tests moins fragiles, à les exécuter de manière fiable et à nous assurer que notre application fonctionne réellement entre les mains de nos utilisateurs. Tester le système sémantique permet également de s'assurer que nos écrans sont au moins raisonnablement accessibles par défaut."

Premiers pas

En savoir plus sur Compose