Что это такое
Android Architecture примеры — учебный репозиторий с примерами архитектуры Android-приложений. В разных ветках один TODO-app реализован с небольшими отличиями.
Проект полезен тем, что сравнение архитектуры идет на одном и том же предметном примере, а не на абстрактных схемах.
Главная задача примеры — показать, как строить Android-приложение с понятными слоями и современными инструментами.
Что внутри репозитория
В текущей ветке описаны Jetpack Compose интерфейс, single-activity architecture, Navigation Compose, ViewModel на экран или feature, reactive UIs через Flow и coroutines, data layer с repository и двумя data sources.
Дополнительные материалы показывают снимки экранов, объясняют выбор TODO-примера, границы проекта, целевую аудиторию, запуск в Android Studio и лицензию.
Как это обычно используют
Проект используют Android-разработчики, преподаватели и команды, которые обсуждают архитектурные варианты на маленьком, но реалистичном приложении.
Обычный сценарий: открыть пример в Android Studio, изучить слои, посмотреть ветки и сравнить, как меняется организация кода.
Архитектура вокруг TODO-экрана
Схема показывает учебную модель примеры: один маленький продукт используется для сравнения слоев и решений.
Compose screen
-> ViewModel
-> repository
-> local data source Room
-> fake remote data source
Что получается на практике
Сильная сторона проекта — ограниченный scope. TODO-приложение достаточно простое, чтобы не отвлекаться на бизнес-логику, но достаточно живое для архитектурных решений.
Еще одно преимущество — привязка к современному Android-стеку: Compose, ViewModel, Flow, coroutines и Room.
Ограничения и аккуратные места
Ограничение в том, что пример не является шаблоном для слепого копирования. Реальное приложение может иметь другие требования, legacy-код и ограничения команды.
Также проект сам говорит, чем он не является, поэтому его лучше читать как учебный материал, а не как единственно правильную архитектуру.
Кому подойдет
Android Architecture примеры лучше всего подходит для обучения и командных обсуждений Android-архитектуры.
В каталоге проект важен как качественный пример документации через код: архитектура объясняется не статьей, а работающим маленьким приложением.
После изучения стоит перенести в свой проект только понятные решения, а не всю структуру целиком.
Ценность Android Architecture примеры в том, что это не абстрактный спор о слоях, а один понятный пример приложения, через который можно сравнивать подходы. TODO-задачи достаточно просты, чтобы не мешать архитектуре, но в них есть экран, состояние, данные и действия пользователя. Поэтому репозиторий удобно использовать в команде как общий язык: показать, где живет ViewModel, как течет состояние и где проходит граница между интерфейсом и источником данных.