Sobre el proyecto

Now in Android es una aplicación Android totalmente funcional desarrollada por Google, construida íntegramente con Kotlin y Jetpack Compose. Sirve como implementación de referencia para las mejores prácticas de desarrollo Android, incluyendo arquitectura, modularización, pruebas y rendimiento. La app muestra contenido de la serie Now in Android, permitiendo a los usuarios navegar por enlaces a videos, artículos y otro contenido reciente. Los usuarios pueden seguir temas de interés y recibir notificaciones cuando se publica nuevo contenido que coincida. La aplicación está actualmente en desarrollo, con la variante prodRelease disponible en Play Store. Usa el sistema de compilación Gradle y puede importarse directamente en Android Studio. Las variantes de compilación demoDebug y demoRelease pueden compilarse y ejecutarse localmente, mientras que las variantes prod requieren un servidor backend que no está disponible públicamente. Arquitectura: La app sigue la guía oficial de arquitectura de Android, con un recorrido de aprendizaje detallado disponible. Está completamente modularizada, con un recorrido de aprendizaje de modularización que explica la estrategia. Compilación: La app incluye variantes de depuración y lanzamiento, más una variante de benchmark para pruebas de rendimiento de inicio y generación de perfiles de referencia. Usa sabores de producto (demo y prod) para controlar las fuentes de contenido. El sabor demo usa datos locales estáticos, mientras que el sabor prod realiza llamadas de red a un backend. Pruebas: La app usa Hilt para inyección de dependencias y evita bibliotecas de simulación en las pruebas, usando en su lugar dobles de prueba que implementan las mismas interfaces que las implementaciones de producción. Incluye pruebas locales, pruebas instrumentadas y pruebas de captura de pantalla usando Roborazzi. Las pruebas de captura de pantalla verifican la representación de la interfaz en diferentes tamaños de pantalla. Interfaz de usuario: La app está diseñada siguiendo las pautas de Material 3 y construida íntegramente con Jetpack Compose. Soporta temas de color dinámicos (basados en el fondo de pantalla del usuario) y un tema predeterminado, ambos con modo oscuro. Usa diseños adaptativos para soportar diferentes tamaños de pantalla. Rendimiento: La app incluye pruebas de Macrobenchmark para el rendimiento de inicio y generación de perfiles de referencia. También proporciona métricas del compilador de Compose para analizar el rendimiento. Licencia: Distribuida bajo la Licencia Apache 2.0.