O Monzo é um banco e um app que oferece serviços financeiros digitais. A missão da empresa é tornar a gestão financeira acessível para todos. O sistema de design do Monzo começou a se desviar do Material Design. Por isso, eles queriam uma maneira fácil de escrever e manter componentes personalizados que estão em constante evolução. Por isso, eles escolheram o Jetpack Compose.
O que a equipe fez
Com o Compose, os componentes do Material Design são fornecidos como uma camada sobre as APIs de base independentes do sistema de design. A Monzo usou as APIs de base para criar a própria biblioteca de componentes, usando os componentes do Material Design como referência. A empresa começou migrando uma tela por vez, usando o Compose em todas as novas telas. Agora, o Compose é usado na produção por todos os engenheiros do Android: "Não encontramos problemas graves e, por isso, nos sentimos confiantes o suficiente para começar a usá-lo em alguns novos recursos selecionados e, eventualmente, em todos os novos recursos".
Resultados
A equipe da Monzo criou componentes que permitem criar facilmente novas telas: "Os componentes prontos para uso fazem com que a criação de uma tela ao aprender o Compose seja uma experiência muito mais tranquila. As APIs baseadas em slots são um padrão fantástico que facilita a criação de componentes maiores a partir de muitos blocos de construção pequenos."
Com o Compose, a equipe do Monzo conseguiu criar um app de maior qualidade, adicionando recursos divertidos que antes não podiam ser acessados nos sprints: "Um exemplo são as animações. Elas são tão fáceis de adicionar no Compose que não há motivo para não animar coisas, como mudanças de cor/tamanho/elevação. Essas animações “boas de se ter” geralmente são muito difíceis de valer o esforço e a complexidade no sistema de visualização”.
O código agora é mais curto e mais fácil de ler, entender e manter: "O código declarativo é muito mais fácil de entender do que o código que manipula uma hierarquia de interface mutável. Também é muito mais fácil rastrear o código quando tudo está escrito na mesma linguagem e, geralmente, no mesmo arquivo, em vez de alternar entre Kotlin e XML. Nem me fale de temas e estilos XML! É muito mais fácil entender os temas no Compose. Nosso tema consiste apenas nas propriedades que definimos, os valores são consistentes entre os dispositivos e, como está em Kotlin, é muito fácil pesquisar e acompanhar no ambiente de desenvolvimento integrado."
O Compose permitiu que a equipe do Monzo testasse o app com facilidade e garantisse que ele fosse acessível: "Ele nos ajudou a criar testes menos frágeis, executar de forma confiável e nos deu muita confiança de que nosso app realmente funciona nas mãos dos usuários. O teste pelo sistema de semântica também garante que nossas telas sejam pelo menos razoavelmente acessíveis por padrão".
Primeiros passos
Saiba mais sobre o Compose.