Por qué implementar Compose
Menos código
Escribir menos código afecta a todas las etapas de desarrollo: como autor, puedes enfocarte en el problema en cuestión, dado que debes realizar menos pruebas y depuraciones, y se reduce el margen de error; como revisor o compilador, tienes menos código para leer, comprender, revisar y mantener.
Compose te permite realizar más tareas con menos código en comparación con el sistema Android View. Lo que sea que debas compilar (botones, listas o animaciones) ahora requiere menos código. A continuación, te mostramos algunos comentarios de nuestros socios:
- "Para la misma clase de botón, [el código] era 10 veces más pequeño" (Twitter).
- "También se ve una reducción significativa a la hora de compilar cualquier pantalla con RecyclerView, que es el caso de la mayoría de nuestras pantallas" (Monzo).
- "Nos complace ver cuán pocas líneas se necesitan para crear listas o animaciones en nuestra app. Escribimos menos líneas de código por función, lo que nos permite enfocarnos más en ofrecer valor a nuestros clientes" (Cuvva).
El código solamente se escribe en Kotlin, en lugar de dividirlo entre Kotlin y XML: "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" (Monzo).
El código escrito con Compose es simple y fácil de mantener sin importar lo que compiles. "El sistema de diseño de Compose es conceptualmente más sencillo, por lo que se comprende con mayor facilidad. También resulta más fácil leer el código de componentes complejos" (Square).
Intuitiva
Compose usa una API declarativa, lo que significa que solo debes describir tu IU, y Compose se encarga del resto. Las API son intuitivas, fáciles de descubrir y usar: "Nuestra capa de temas es mucho más intuitiva y legible. En un solo archivo de Kotlin, pudimos lograr lo que hubiese requerido muchos archivos en formato XML para definir los atributos y las asignaciones a través de varias superposiciones de temas en capas" (Twitter).
Compose te permite compilar componentes pequeños y sin estado que no están vinculados a una actividad o un fragmento específicos. Eso hace que sean fáciles de reutilizar y probar: "Nos propusimos ofrecer un conjunto nuevo de componentes de la IU sin estado que sean fáciles de usar y mantener, y se puedan implementar, ampliar y personalizar de manera intuitiva. Compose nos brindó una excelente respuesta" (Twitter).
En Compose, los estados son explícitos y se pasan al elemento componible. De esa manera, hay una única fuente de información del estado, lo cual lo mantiene separado y encapsulado. Por lo tanto, a medida que cambia el estado de la app, tu IU se actualiza automáticamente. "Ofrece un razonamiento más sencillo y una reducción de comportamientos fuera de tu control o propensos a una mala interpretación" (Cuvva).
Acelera el desarrollo
Compose es compatible con todo tu código existente, por lo que puedes llamar código de Compose desde Views, y viceversa. Las bibliotecas más comunes como Navigation, ViewModel y las corrutinas de Kotlin funcionan con Compose, de modo que puedes comenzar a implementarlo cuando y donde quieras. "Comenzamos a integrar Compose desde la interoperabilidad y así descubrimos que es un éxito. Descubrimos que no teníamos que pensar en cuestiones como los modos claro y oscuro, por lo que la experiencia fue impecable" (Cuvva).
Gracias a la compatibilidad completa con Android Studio, que brinda funciones como las versiones de vista previa en vivo, podrás iterar y enviar código más rápido: "Las vistas previas de Android Studio nos ahorraron mucho tiempo. Poder compilar varias vistas previas también nos permite ahorrar tiempo. Por lo general, debemos verificar un componente de la IU en diferentes estados o con diferentes configuraciones, como estados de error, un tamaño de fuente diferente, etc. La capacidad de crear múltiples vistas previas nos permite comprobarlo fácilmente" (Square).
Potente
Compose te permite crear apps atractivas con acceso directo a las API de la plataforma de Android y compatibilidad integrada para Material Design, Tema oscuro, animaciones y mucho más: "Compose ofrece más que una IU declarativa, también brinda API de accesibilidad, diseño y muchas mejoras. Puedes realizar lo que deseas en menos pasos" (Square).
Con Compose, puedes brindarles vida y movimiento a tus apps con animaciones de forma rápida y fácil: "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" (Monzo). "Puedes crear animaciones sin requisitos especiales: es similar a presentar una pantalla estática." (Square).
Ya sea que compiles con Material Design o tu propio sistema de diseño, Compose te brinda la flexibilidad para implementar el diseño que quieras: "Tener Material Design separado de la base nos resultó muy útil, ya que estamos compilando nuestro propio sistema de diseño que, por lo general, tiene requisitos de diseño diferentes a los de Material" (Square).
Consulta los casos de éxito detallados para descubrir cómo Twitter, Square, Monzo y Cuvva están usando Compose.