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

O Monzo é um banco e app que oferece serviços financeiros digitais. A missão dela é fazer com que o dinheiro funcione para todos. O sistema de design do Monzo começou a se desviar 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, escolheu 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 que não dependem de sistema de design. O Monzo usou as APIs de base para criar a própria biblioteca de componentes, usando os componentes do Material Design como referência. Eles começaram migrando uma tela por vez, agora usando o Compose em todas as novas telas. Agora, todos os engenheiros do Android usam o Compose na produção: "Não encontramos nenhum problema importante, então nos sentimos confiantes o suficiente para começar a usá-lo para alguns novos recursos e, eventualmente, para todos os novos recursos".

Resultados

A equipe do Monzo criou componentes que permitem criar facilmente novas telas: "Os componentes que fornecemos prontos para uso tornam a criação de telas durante o aprendizado do Compose em 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 usando vários elementos básicos."

Com o Compose, a equipe do Monzo conseguiu criar um app de alta qualidade, adicionando recursos incríveis que antes não conseguiam nos sprints: "Um exemplo são as animações, que são tão fáceis de adicionar ao Compose que não há motivo para animar coisas como mudanças de cor/tamanho/elevação. Muitas vezes, essas animações boas de se ter são muito difíceis para compensar o esforço e a complexidade do 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 com código quando todos estão escritos na mesma linguagem e, geralmente, no mesmo arquivo, em vez de alternar entre o Kotlin e o XML. Nem quero começar com temas e estilos XML! Os temas são muito mais fáceis de entender 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 com facilidade o app e garantisse que ele fosse acessível: "Ele nos ajudou a criar testes menos frágeis, executar de modo confiável e nos deu muita confiança de que nosso app realmente funciona nas mãos dos nossos 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.