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. Eles começou a migrar 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 do Monzo criou componentes que permitem criar novas telas com facilidade: "Os componentes que oferecemos de forma imediata tornam a criação de uma tela enquanto se aprende o Compose uma experiência muito mais fácil. As APIs baseadas em slots são um padrão fantástico que facilita a criação de componentes maiores com muitos blocos de construção pequenos."
Com o Compose, a equipe da 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. Elas são tão fáceis de adicionar no Compose que há poucas razões 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! O tema é muito mais fácil de entender 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 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.