Monzo compila una app más sólida y de mayor calidad con Compose

Monzo es un banco y una app que ofrece servicios financieros digitales. Su misión es hacer que el dinero funcione para todas las personas. El sistema de diseño de Monzo comenzó a desviarse de Material Design, por lo que querían una forma sencilla de escribir y mantener componentes personalizados que evolucionaran constantemente, por lo que eligieron Jetpack Compose.

Qué hizo la empresa

Con Compose, los componentes de Material Design se proporcionan como una capa sobre las APIs de base independientes del sistema de diseño. Monzo usó las APIs de base para compilar su propia biblioteca de componentes, con los componentes de Material como referencia. Comenzaron migrando una pantalla a la vez y ahora usan Compose en todas las pantallas nuevas. Ahora, todos los ingenieros de Android usan Compose en producción: "No tuvimos ningún problema importante, por lo que nos sentimos lo suficientemente seguros como para comenzar a usarlo en algunas funciones nuevas seleccionadas y, finalmente, en todas las funciones nuevas".

Resultados

El equipo de Monzo creó componentes que les permiten compilar pantallas nuevas con facilidad: “Los componentes que proporcionamos listos para usar hacen que la compilación de una pantalla mientras se aprende Compose sea una experiencia mucho más fluida. Las APIs basadas en ranuras son un patrón fantástico que nos facilita mucho la creación de componentes más grandes a partir de muchos bloques de construcción pequeños".

Con Compose, el equipo de Monzo pudo crear una app de mayor calidad y agregar funciones atractivas que antes no podían incluir en sus sprints: “Un ejemplo son las animaciones. Son tan fáciles de agregar en Compose que hay muy pocos motivos para no animar elementos como los cambios de color, tamaño o elevación. Estas animaciones “agradables” suelen ser demasiado difíciles como para que valga la pena el esfuerzo y la complejidad en el sistema de View".

Ahora su código es más corto y más fácil de leer, comprender y mantener: "El código declarativo es mucho más fácil de razonar que el código que manipula una jerarquía de IU mutable. También es mucho más fácil revisar el código cuando está escrito en el mismo lenguaje y, a veces, en el mismo archivo, sin necesidad de alternar entre Kotlin y XML. Y ni hablar de los temas y estilos XML. El tema es mucho más fácil de entender en Compose. Nuestro tema solo consta de las propiedades que definimos, los valores son coherentes en todos los dispositivos y, como está en Kotlin, es muy fácil buscar y seguir en el IDE".

Compose le permitió al equipo de Monzo probar su app con facilidad y garantizar que fuera accesible: “Nos ayudó a escribir pruebas que son menos frágiles, se ejecutan de forma confiable y nos brindan mucha confianza en que nuestra app realmente funciona en manos de nuestros usuarios. Las pruebas a través del sistema semántico también garantizan que nuestras pantallas sean, al menos, razonablemente accesibles de forma predeterminada".

Comenzar

Obtén más información sobre Compose.