Blog de desarrolladores de Android: Arquitectura consciente: refactorización del espacio de cabeza a escala


Publicado por Manuel Vicente Vivo, ingeniero de relaciones con desarrolladores de Android

Colaboradores: Mauricio Vergara, Product Marketing Manager, Developer Marketing, Marialaura García, Associate Product Marketing Manager, Developer Marketing

Gráfico de estudio de caso técnico de Headspace

Síntesis

Headspace estaba listo para implementar nuevas funciones de bienestar y fitness, pero la arquitectura de su aplicación no lo estaba. Pasaron ocho meses refactorizando una arquitectura Model-View-ViewModel, reescribiendo en Kotlin y mejorando la cobertura de prueba del 15 al 80 por ciento. La experiencia mejorada de la aplicación aumentó el MAU en un 15% y aumentó los puntajes de revisión de 3.5 a 4.7 entre el segundo y el cuarto trimestre de 2020. Obtenga más información sobre el enfoque de Headspace en Excelencia Android impactó su negocio, lea el estudio de caso adjunto aquí.

Introducción

Espacio de cabeza se convirtió en líder en mindfulness al crear una aplicación que ayuda a millones de personas a meditar todos los días. La atención plena va mucho más allá de la meditación, se conecta a todos los aspectos de la vida de una persona. Esa idea impulsó la etapa más reciente en la evolución de Headspace. En 2019, decidieron ir más allá de la meditación y agregar nuevas funciones de fitness y bienestar a su aplicación de Android. Headspace se dio cuenta de que necesitarían un equipo multifuncional de ingenieros y diseñadores para poder realizar la visión del nuevo producto y crear una excelente experiencia de aplicación para los usuarios. Una nueva fase emocionante para la empresa: su equipo de diseño inició el proceso creando prototipos para la nueva experiencia, con nuevos diseños.

Con los proyectos en la mano, lo único que detuvo a Headspace de expandir su aplicación y ampliar los horizontes de los usuarios fue la arquitectura de software de Android existente. No estaba bien estructurado para admitir todas estas nuevas funciones. El equipo de desarrollo de Headspace dijo que construir el código existente llevaría más tiempo que una reescritura completa. Después de compartir la visión e involucrar a todos, el equipo se embarcó en un viaje colectivo para escribir una nueva aplicación de Android en busca de la excelencia de la aplicación.

La reescritura de Android

El equipo de desarrollo de Android de Headspace primero necesitaba una forma rentable de estandarizar la forma en que creaban e implementaban funciones. “Antes de escribir una sola línea de código, nuestro equipo pasó una semana evaluando algunas opciones de implementación importantes para nuestra base de aplicaciones”, explica Aram Sheroyan, desarrollador de Android en Headspace;

“Este fue un trabajo previo crucial para que todos estuviéramos en la misma página cuando realmente comenzamos a construir”.

Sumérjase en la literatura de Google sobre las últimas mejores prácticas para el desarrollo y arquitectura de la aplicación, el equipo encontró una solución en la que todos podían estar de acuerdo con confianza. Google recomendó refactorizar su aplicación con una nueva arquitectura central: modelo-vista-vista-modelo. MVVM es un modelo de software ampliamente admitido que se está convirtiendo progresivamente en un estándar de la industria porque permite a los desarrolladores crear una clara separación de preocupaciones, lo que ayuda a simplificar la arquitectura de una aplicación. “Nos permitió separar bien nuestra lógica de visualización”, explicó Sheroyan.

Con MVVM como su arquitectura central, identificaron Jetpack de Android bibliotecas, incluidas Daga Y Elsa para inyección de adicción. Las nuevas herramientas han hecho que el código estándar sea más pequeño y más fácil de estructurar, por no decir más predecible y eficiente. Combinadas con MVVM, las bibliotecas les han proporcionado una comprensión más detallada de cómo deben implementarse las nuevas funciones. El equipo también pudo mejorar la calidad de pasar argumentos entre funciones. La aplicación había sufrido anteriormente bloqueos debido a errores NullPointerException y argumentos incorrectos. La adopción de la biblioteca safeArgs ayudó a eliminar errores al pasar argumentos.

Al reescribir la aplicación, el equipo también se aseguró de seguir el modelo de repositorio para respaldar una separación más clara de preocupaciones. Por ejemplo, en lugar de tener una clase enorme que guarda datos en preferencias compartidas, decidieron que la fuente de datos local de cada repositorio debería manejar su lógica respectiva. Esta separación de fuentes de datos permite al equipo probar y reproducir el código de la empresa fuera de la aplicación de prueba unitaria en vivo sin tener que cambiar el código de producción. Separar las preocupaciones de esta manera hizo que la aplicación fuera más estable y el código más modular.

El equipo también aprovechó la oportunidad para traducir completamente su aplicación al Kotlin lenguaje de programación, que ofrecía funciones auxiliares útiles, clases selladas y funciones de extensión. Eliminar el código heredado y reemplazar la combinación de Java y Kotlin con código Kotlin puro redujo el tiempo de compilación de la aplicación. La nueva arquitectura también simplificó la escritura de pruebas y les permitió aumentar la cobertura de las pruebas de alrededor del 15% a más del 80%. Esto ha resultado en implementaciones más rápidas, código de mayor calidad y menos fallas.

Para capturar la nueva experiencia del usuario en las revisiones de aplicaciones, Headspace implementó el API de revisión en la aplicación de Google Play. La nueva API les permitió alentar a todos los usuarios a compartir reseñas desde la aplicación. La implementación aumentó las puntuaciones de revisión en un 24% y, como las revisiones de la ficha de Play Store son vinculado a la visibilidad en Google Play – ayudó a llamar la atención sobre las mejoras recientes de la aplicación.

Logre la excelencia de la aplicación

La reescritura tomó ocho meses y con ella llegó una nueva confianza en el código. Ahora que el código base tenía más del 80% de cobertura de prueba unitaria, podían desarrollar y probar nuevas funciones con confianza en lugar de preocuparse. La nueva arquitectura lo hizo posible gracias a su mejor separación lógica y código más reutilizable, lo que facilita la planificación e implementación de nuevas funciones.

El tiempo de compilación de la aplicación se ha reducido drásticamente y la velocidad de desarrollo ha aumentado. La nueva claridad del equipo sobre las mejores prácticas y la arquitectura también redujo la fricción para incorporar nuevos desarrolladores, ya que ahora se basaba en los estándares de la industria de Android. Podrían haberse comunicado más claramente con los candidatos potenciales durante el proceso de entrevista, ya que ahora tenían un lenguaje arquitectónico compartido para discutir problemas y posibles soluciones.

Con la velocidad, se logró una implementación de funciones más rápida y un flujo de retención mejorado. Ahora podrían agilizar su proceso de ventas adicionales, lo que ha resultado en un aumento del 20% en la cantidad de suscriptores de Android pagos en comparación con otras plataformas donde se publica la aplicación. ¡La combinación de una nueva experiencia de aplicación y la implementación de la nueva API de revisión en la aplicación resultó en una mejora en los puntajes de revisión de 3.5 a 4.7 estrellas entre el segundo y cuarto trimestre de 2020! En general, el nuevo enfoque en Excelencia en la aplicación de Android y las calificaciones mejoradas le dieron a Headspace un aumento de MAU del 15% a nivel mundial..

Estos fueron solo algunos de los beneficios de la importante inversión de Headspace en la excelencia de las aplicaciones. Su enfoque láser en la calidad ha dado sus frutos en todos los ámbitos, lo que les ha permitido seguir haciendo crecer su comunidad de usuarios y sentar una base sólida para la evolución futura de la experiencia de su aplicación.

Sube a tu equipo a bordo

Si está interesado en involucrar a su equipo en su viaje hacia la excelencia en aplicaciones, consulte nuestro estudio de caso condensado para propietarios y ejecutivos de productos conectados aquí. Para obtener más información sobre cómo las experiencias de usuario de aplicaciones coherentes e intuitivas pueden hacer crecer su negocio, visite el Excelencia en la aplicación página de destino.

Compruebe también

Nuevos gadgets de Android y wearables en el Mobile World Congress + ¡Sintoniza un nuevo episodio de #TheAndroidShow la próxima semana!

Publicado por Anirudh Dewani, Director de Relaciones con Desarrolladores de Android Hoy, en el Mobile …

Deja una respuesta

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