Monzo es un banco y una app que ofrece servicios financieros digitales. Su misión es llevar dinero a todo el mundo. 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 evolucionen constantemente. Por eso, 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, usando los componentes de Material como referencia. Comenzaron migrando una pantalla a la vez y ahora usan Compose en todas las pantallas nuevas. Ahora, Compose se usa en producción por todos los ingenieros de Android: "No tuvimos ningún problema importante, por lo que nos sentimos lo suficientemente seguros como para comenzar a usarlo para algunas funciones nuevas seleccionadas y, finalmente, para 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 compilación de componentes más grandes a partir de muchos bloques de compilación pequeños".
Con Compose, el equipo de Monzo pudo compilar una app de mayor calidad y agregar funciones agradables que antes no podían obtener en sus sprints: “Un ejemplo son las animaciones. Son tan fáciles de agregar en Compose que no hay excusa para no animar elementos , como cambios de color, tamaño y elevación . Estas animaciones "agradables" suelen ser demasiado difíciles para que valgan la pena el esfuerzo y la complejidad en el sistema 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. Ni siquiera me hagas empezar con los temas y estilos de XML. La aplicación de temas es mucho más fácil de comprender 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 asegurarse de que sea accesible: “Nos ayudó a escribir pruebas que son menos frágiles, se ejecutan de manera 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, razonablemente accesibles de forma predeterminada".
Comenzar
Obtén más información sobre Compose.