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 independente 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 facilitam muito a criação de uma tela enquanto se aprende o Compose." 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 adicionar no Compose que há pouquíssimos motivos para não animar coisas como mudanças de cor/tamanho/elevação. Essas animações "legais" geralmente são muito difíceis para valer a pena 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 estilização 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 forma confiável e nos dão muita confiança de que o app funciona nas mãos dos nossos usuários. Testar pelo sistema semântico também garante que nossas telas sejam, no mínimo, razoavelmente acessíveis por padrão".
Primeiros passos
Saiba mais sobre o Compose.