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 todos. El sistema de diseño de Monzo comenzó a desviarse de Material Design, por lo que querían una manera sencilla de escribir y mantener componentes personalizados que están en constante evolución, 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 Foundation independientes del sistema de diseño. Monzo usó las APIs de Foundation para compilar su propia biblioteca de componentes, con los componentes de Material como referencia. Comenzaron por migrar 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 encontramos ningún problema importante, por lo que nos sentimos lo suficientemente seguros como para comenzar a usarlo en algunas funciones nuevas seleccionadas y, con el tiempo, 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 compilar una pantalla mientras aprendemos sobre Compose sea una experiencia mucho más fluida. Las APIs basadas en ranuras son un patrón fantástico que nos facilita mucho la compilación de componentes más grandes con muchos componentes básicos pequeños”.

Con Compose, el equipo de Monzo pudo compilar una app de mayor calidad y agregar funciones encantadoras que antes no podía usar en sus sprints: “Un ejemplo son las animaciones: son tan fáciles de agregar en Compose que hay muy pocas razones para no animar elementos, como cambios de color, tamaño o elevación. A menudo, estas animaciones 'deseadas de tener' son demasiado difíciles de valer el esfuerzo y la complejidad del sistema de View".

Su código ahora es más corto y es 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 rastrear el código cuando está escrito en el mismo lenguaje y, a veces, en el mismo archivo, en lugar de alternar entre Kotlin y XML. Ni siquiera te cuento sobre los temas y estilos XML. Los temas son mucho más fáciles 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 de buscar y seguir en el IDE".

Compose permitió que el equipo de Monzo probara su app con facilidad y se asegurara de que sea accesible: "Nos ayudó a escribir pruebas menos frágiles, que se ejecutan de forma confiable y nos dan mucha confianza de que nuestra app realmente funciona en manos de nuestros usuarios. Las pruebas a través del sistema de semántica también garantizan que nuestras pantallas sean, al menos, accesibles de forma razonable de forma predeterminada".

Comenzar

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