Об этом проекте

Now in Android — полнофункциональное Android-приложение, разработанное Google и полностью созданное на Kotlin и Jetpack Compose. Оно служит эталонной реализацией лучших практик Android-разработки, включая архитектуру, модульность, тестирование и производительность. Приложение отображает контент из серии Now in Android и позволяет пользователям просматривать ссылки на недавние видео, статьи и другие материалы. Пользователи могут подписываться на интересующие темы и получать уведомления при публикации нового подходящего контента. Приложение в настоящее время находится в разработке, а вариант prodRelease доступен в Play Store. Оно использует систему сборки Gradle и может быть напрямую импортировано в Android Studio. Варианты сборки demoDebug и demoRelease можно собрать и запустить локально, тогда как варианты prod требуют серверной части, которая не является общедоступной. Архитектура: приложение следует официальным рекомендациям по архитектуре Android, для которых доступен подробный учебный маршрут. Оно полностью модульное; стратегия модульности описана в соответствующем учебном маршруте. Сборка: приложение содержит варианты debug и release, а также вариант benchmark для тестирования производительности запуска и генерации базового профиля. Оно использует продуктовые флейворы demo и prod для управления источниками контента. Флейвор demo использует статические локальные данные, а флейвор prod выполняет сетевые запросы к серверной части. Тестирование: приложение использует Hilt для внедрения зависимостей и избегает библиотек мокирования в тестах, вместо этого применяя тестовые двойники, которые реализуют те же интерфейсы, что и промышленные реализации. Включаются локальные тесты, инструментированные тесты и тесты скриншотов с использованием Roborazzi. Тесты скриншотов проверяют отрисовку пользовательского интерфейса на экранах разных размеров. Пользовательский интерфейс: приложение спроектировано в соответствии с рекомендациями Material 3 и полностью построено на Jetpack Compose. Оно поддерживает динамические цветовые темы на основе обоев пользователя и тему по умолчанию, обе с тёмным режимом. Для поддержки экранов разных размеров используются адаптивные макеты. Производительность: приложение содержит тесты Macrobenchmark для измерения производительности запуска и генерации базового профиля. Оно также предоставляет метрики компилятора Compose для анализа производительности. Лицензия: распространяется по лицензии Apache License 2.0.