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 fácil de escribir y mantener componentes personalizados que evolucionen 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 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 de forma predeterminada hacen que compilar una pantalla mientras aprendes Compose sea una experiencia mucho más fluida. Las APIs basadas en ranuras son un patrón fantástico que nos permite crear componentes más grandes a partir de muchos bloques pequeños".
Con Compose, el equipo de Monzo pudo compilar una app de mayor calidad y agregar funciones encantadoras a las que antes no podía acceder 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. Estas animaciones “deseables” suelen ser demasiado difíciles para que valga la pena el esfuerzo y la complejidad en el 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.