Lyft redujo el código de los componentes de la interfaz de usuario hasta en un 60 % con Jetpack Compose

Descubra por qué Lyft planea pasarse completamente a Compose para el desarrollo de funciones futuras

Lyft redujo el código de los componentes UL hasta en un 60 % con Jetpack Compose

Lyft, una de las empresas de viajes compartidos más grandes de los Estados Unidos, es prácticamente sinónimo de transporte con un solo toque. Lyft ha superado con creces sus comienzos de transporte compartido y ahora incluye todo, desde servicios de entrega hasta modos de transporte adicionales como bicicletas y scooters. Con más que 50 millones de descargas en Google Play, los ingenieros de Lyft siempre están explorando nuevas formas de optimizar las características y la funcionalidad del producto para mejorar la experiencia del usuario. Para mantenerse al día con las tendencias modernas en el desarrollo móvil, se han utilizado varios equipos de Lyft Esfera de mochila propulsora para reemplazar algunos de sus marcos heredados, reducir el código estándar y simplificar el flujo de trabajo. También lo usaron para lanzamientos de funciones y se beneficiaron de la implementación.

Menos código, implementaciones más simples de funciones de interfaz de usuario

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 la funcionalidad en módulos reutilizables e independientes. “Más del 90 % de todos los nuevos códigos de funciones ahora se desarrollan en Compose”, dijo Anton Tananaev, ingeniero de Android en el personal de Lyft. Esto se debe en gran parte al hecho de 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 todas 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 estos 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.LPL incluye componentes de interfaz de usuario comunes, como elementos visuales en todo el mundo. y paneles y diálogos 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. Lyft pudo crear fácilmente estos componentes de la interfaz de usuario para adaptarse a sus requisitos visuales personalizados. Además, el uso de Compose en lugar de vistas redujo drásticamente las líneas de código requeridas. Un componente de botón en la aplicación Lyft pasó de aproximadamente 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 necesita con Views!

El equipo que trabaja en el marco de interfaz de usuario basado en servidor de Lyft también adoptó Compose. Los sistemas actuales solo admiten una respuesta API estática, pero una de las principales razones por las 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 necesita código de cliente adicional para admitir contenido dinámico.

Una mejora bienvenida para los ingenieros.

El paso 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 en Views, sino que les resulta más fácil de entender y administrar y enviar los cambios necesarios más rápido. 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 partes. Esto significa que pueden pasar el estado necesario para una interfaz de usuario independientemente de las acciones que se realicen, mientras aprovechan otras tecnologías utilizadas en el código, como RxJava. El sistema de complementos anterior de Lyft requería varios archivos con mucho código estándar 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 encanta Compose tanto que casi todas las funciones nuevas se desarrollan en Compose y lo ven como el futuro de Android. Incluso durante las entrevistas de trabajo, los candidatos a ingenieros de Android muestran entusiasmo por la capacidad 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.

Compose es claramente el futuro del desarrollo de Android.  Requiere menos código y es más fácil de entender y mantener.  Anton Tananaev, ingeniero de personal de Android en Lyft

Migración 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 la interfaz de usuario con tanto Compose como deseen. Sin embargo, el equipo de Lyft ha disfrutado 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 las ventajas entre las 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”.

Simplifique su código corto con Compose

Descubra cómo puede mejorar la codificación de características con Esfera de mochila propulsora.

Compruebe también

Cómo evitar la captura de pantalla en Android

Para evitar la captura de pantalla en una aplicación de Android, puede utilizar el FLAG_SECURE …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *