Lyft redujo su código para los componentes de la interfaz de usuario hasta en un 60 % con Jetpack Compose
26/10/2022
Descubra por qué Lyft planea cambiar completamente a Compose para el desarrollo de funciones futuras
Para mantenerse al día con las tendencias modernas en el desarrollo móvil, varios equipos de Lyft utilizaron Jetpack componer para reemplazar algunos de sus marcos heredados, reducir el código repetitivo y optimizar su flujo de trabajo. También lo usaron para lanzamientos de funciones y se han beneficiado de la implementación.
Menos código, implementaciones de funciones de interfaz de usuario más sencillas
Los ingenieros de Lyft adoptaron Compose para una revisión de la interfaz de usuario y utilizaron un marco de complemento que permitió a los desarrolladores dividir las funciones en módulos reutilizables autónomos. “Más del 90 % de todos los nuevos códigos de funciones ahora se desarrollan en Compose”, dijo Anton Tananaev, ingeniero de personal de Android en Lyft. Esto se debe en gran parte a que Compose hace que la implementación de nuevas funciones sea un proceso más rápido y sencillo para los ingenieros.
Lyft tiene un diseño unificado en sus aplicaciones web y móviles, así como una biblioteca de componentes Figma, lo que hace que sea rápido y fácil desarrollar nuevas funciones de interfaz de usuario utilizando esos componentes básicos. El marco de interfaz de usuario interno de Lyft, llamado Lyft Product Language (LPL), les permite usar fácilmente su sistema de diseño unificado en Android, iOS y la web. La LPL incluye componentes de interfaz de usuario comunes, como elementos visuales dentro de la aplicación y paneles y cuadros de diálogo más complejos. Para garantizar que los pasajeros y conductores de Lyft tengan la mejor experiencia de usuario, este sistema de diseño se implementa individualmente en cada plataforma. Compose está construido con la flexibilidad para admitir Material Design, sistemas de diseño personalizados y todo lo demás, por lo que Lyft pudo construir fácilmente estos componentes de la interfaz de usuario para cumplir con sus requisitos visuales personalizados. Además de eso, usar Compose en lugar de vistas ha reducido drásticamente las líneas de código requeridas. Un componente de botón en la aplicación Lyft ha pasado de alrededor de 800 líneas de código en tres archivos más 17 archivos XML diferentes a un solo archivo Kotlin con 300 líneas de código. ¡Pudieron reducir las líneas de código en casi dos tercios de lo que se necesitaba con Views!
El equipo que está trabajando en el marco de la interfaz de usuario impulsada por el servidor en Lyft también adoptó Compose. Los sistemas actuales solo admiten la respuesta API estática, pero una razón clave por la que los ingenieros de Lyft prefieren Compose es porque admite cambios dinámicos en la interfaz de usuario desde el backend. Compose detectará automáticamente los cambios, por lo que no se requiere código de cliente adicional para admitir contenido dinámico.
Una mejora bienvenida para los ingenieros.
Pasar a Compose permitió a Lyft aumentar la productividad y la velocidad de los desarrolladores. Los desarrolladores no solo necesitan escribir menos código en Compose que con Views, sino que les resulta más fácil de entender y mantener, y más rápido para enviar los cambios necesarios. Esto se traduce en más tiempo para desarrollar nuevas funciones para los conductores y usuarios de Lyft, y menos tiempo para reparar funciones antiguas.
Lyft creó su propia arquitectura unidireccional, dividiendo los aspectos de una interfaz de usuario en varias piezas. Eso significa que pueden pasar el estado necesario para una interfaz de usuario independientemente de las acciones a realizar mientras aprovechan otras tecnologías utilizadas en su código como RxJava. El sistema de complementos anterior de Lyft requería varios archivos con mucho código repetitivo solo para crear un componente reutilizable básico, pero con Compose puede ser un solo archivo o incluso una función Composable simple en algunos casos.
A los desarrolladores de Lyft les gusta tanto Compose que casi todas las funciones nuevas se están desarrollando en Compose, y lo ven como el futuro de Android. Incluso en las entrevistas de trabajo, los candidatos a ingenieros de Android muestran entusiasmo ante la posibilidad de usar Compose y lo ven como un indicador clave de que Lyft se mantiene al día con las tecnologías modernas de Android.
Migrar a una base de código más fácil de administrar
Compose es totalmente interoperable con Views, por lo que los desarrolladores pueden crear una interfaz de usuario con tanto Compose como deseen. Sin embargo, el equipo de Lyft disfrutó tanto usando Compose que los ingenieros planean migrar a Compose para casi todas sus funciones y están trabajando en un plan para descartar oficialmente cualquier diseño XML nuevo para que puedan seguir aprovechando los beneficios en los diferentes partes de la aplicación.
"Compose es claramente el futuro del desarrollo de Android, así que cuanto antes hagamos la transición, mejor", dijo Anton, "requiere menos código y es más fácil de entender y mantener".
Optimice su código de característica con Compose
Descubra cómo puede mejorar la codificación de funciones con Jetpack componer.
Te puede interesar