O Monzo cria um app mais robusto e de maior qualidade com o Compose

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 divergir do Material Design, então eles queriam uma maneira fácil de escrever e manter componentes personalizados que estão em constante evolução. Por isso, 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 como referência. Eles começaram migrando uma tela por vez e agora usam o Compose em todas as novas telas. Agora, o Compose é usado na produção por todos os engenheiros do Android: "Não encontramos nenhum problema grave e, por isso, nos sentimos confiantes o suficiente para começar a usar o Compose em alguns novos recursos selecionados e, eventualmente, em todos os novos recursos".

Resultados

A equipe do Monzo criou componentes que permitem criar novas telas com facilidade: "Os componentes que oferecemos prontos para uso tornam a criação de uma tela ao aprender o Compose uma experiência muito mais tranquila. As APIs baseadas em slots são um padrão fantástico que facilita muito a criação de componentes maiores com muitos pequenos blocos de construção."

Com o Compose, a equipe do Monzo conseguiu criar um app de maior qualidade, adicionando recursos incríveis que antes não eram possíveis nos sprints. Um exemplo são as animações. É tão fácil adicioná-las no Compose que não há motivos para não animar coisas, como mudanças de cor, tamanho e elevação. Essas animações "legais" geralmente são muito difíceis para valer o esforço e a complexidade no sistema View".

O código deles agora é mais curto e 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 UI 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 sobre temas e estilos XML! É muito mais fácil entender a criação de temas no Compose. Nosso tema consiste apenas nas propriedades que definimos, os valores são consistentes em todos os dispositivos e, como está em Kotlin, é muito fácil pesquisar e seguir no IDE."

O Compose permitiu que a equipe do Monzo testasse o app com facilidade e garantisse a acessibilidade dele: "Ele nos ajudou a escrever testes menos frágeis, que são executados de maneira confiável e nos dão muita confiança de que nosso app realmente funciona nas mãos dos nossos usuários. Testar 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.