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

Monzo est une banque et une application proposant des services financiers numériques. Sa mission est de faire en sorte que l'argent fonctionne pour tous. Le système de conception de Monzo a commencé à s'éloigner de Material Design. L'entreprise souhaitait donc un moyen simple d'écrire et de gérer 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 en tant que couche sur les 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 utilisant les composants Material comme référence. Il a commencé par migrer un écran à la fois, et utilise désormais Compose dans tous les nouveaux écrans. Compose est désormais 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, et finalement pour toutes les nouvelles fonctionnalités."

Résultats

L'équipe Monzo a créé des composants qui leur 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 une expérience beaucoup plus fluide. Les API basées sur des emplacements sont un modèle fantastique qui nous permet de créer très facilement des composants plus importants à 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 agréables qu'elle ne pouvait pas atteindre auparavant dans ses sprints: "Prenons l'exemple des animations. Elles sont si faciles à ajouter dans Compose qu'il n'y a aucune raison de ne pas animer des éléments tels que les changements de couleur, de taille ou d'élévation. Ces animations "à avoir" sont souvent trop difficiles pour justifier l'effort et la complexité du système View."

Son code est désormais plus court, et donc 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 modifiable. Il est également beaucoup plus facile de suivre le code lorsqu'il est écrit dans la même langue et souvent dans le même fichier, plutôt que de jongler entre le Kotlin et le XML. Et je ne vous parle même pas des thèmes et des styles XML. La thématisation est beaucoup plus facile à comprendre dans Compose. Notre thème ne comprend que les propriétés que nous définissons. Les valeurs sont cohérentes sur tous les appareils. Étant donné qu'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 est accessible: "Compose nous a aidés à écrire des tests moins fragiles, à les exécuter de manière fiable et à nous donner beaucoup de confiance quant au fonctionnement de notre application dans les mains de nos utilisateurs. Les tests via le système de sémantique permettent également de s'assurer que nos écrans sont au moins raisonnablement accessibles par défaut."

Premiers pas

En savoir plus sur Compose