Sobre o projeto

O Now in Android é um aplicativo Android totalmente funcional desenvolvido pelo Google, construído inteiramente com Kotlin e Jetpack Compose. Ele serve como uma implementação de referência para as melhores práticas de desenvolvimento Android, incluindo arquitetura, modularização, testes e desempenho. O aplicativo exibe conteúdo da série Now in Android, permitindo que os usuários naveguem por links para vídeos, artigos e outros conteúdos recentes. Os usuários podem seguir tópicos de interesse e receber notificações quando novos conteúdos correspondentes forem publicados. O aplicativo está atualmente em desenvolvimento, com a variante prodRelease disponível na Play Store. Ele usa o sistema de build Gradle e pode ser importado diretamente no Android Studio. As variantes de build demoDebug e demoRelease podem ser compiladas e executadas localmente, enquanto as variantes prod exigem um servidor backend que não está disponível publicamente. Arquitetura: O aplicativo segue as diretrizes oficiais de arquitetura do Android, com uma jornada de aprendizado detalhada disponível. Ele é totalmente modularizado, com uma jornada de aprendizado sobre modularização que explica a estratégia. Build: O aplicativo inclui variantes de debug e release, além de uma variante de benchmark para testes de desempenho de inicialização e geração de perfil de linha de base. Ele usa sabores de produto (demo e prod) para controlar as fontes de conteúdo. O sabor demo usa dados locais estáticos, enquanto o sabor prod faz chamadas de rede para um backend. Testes: O aplicativo usa Hilt para injeção de dependência e evita bibliotecas de mocking nos testes, usando em vez disso test doubles que implementam as mesmas interfaces que as implementações de produção. Ele inclui testes locais, testes instrumentados e testes de captura de tela usando Roborazzi. Os testes de captura de tela verificam a renderização da interface em diferentes tamanhos de tela. UI: O aplicativo é projetado usando as diretrizes do Material 3 e construído inteiramente com Jetpack Compose. Ele suporta temas de cores dinâmicas (com base no papel de parede do usuário) e um tema padrão, ambos com modo escuro. Ele usa layouts adaptativos para suportar diferentes tamanhos de tela. Desempenho: O aplicativo inclui testes Macrobenchmark para desempenho de inicialização e geração de perfil de linha de base. Ele também fornece métricas do compilador Compose para analisar o desempenho. Licença: Distribuído sob a Licença Apache 2.0.