Разработчики Android выпустили стабильную версию Architecture Components 1.0

Architecture Components — это коллекция библиотек, призванная помочь в создании надёжных, тестируемых и поддерживаемых Android-приложений.
Architecture Components

ОС Android работает на миллиардах устройств: от привычных смартфонов до спинок сидений в самолётах. Как правило, ОС эффективно справляется с выделением ресурсов для надёжной работы приложений в таком огромном диапазоне устройств. В то же время разработчики сталкиваются с проблемой поддержки и оптимизации каждой версии приложения для отдельного вида устройств.

Architecture Components

Именно для облегчения работы сторонних разработчиков команда Android ещё на конференции Google I/O представила превью-версию Architecture Components. Эта коллекция библиотек призвана помочь в создании надёжных, тестируемых и поддерживаемых Android-приложений. Она также включает в себя руководство по архитектуре приложений для таких общих задач, как управление жизненным циклом приложения и постоянство данных.

Эти основополагающие компоненты позволяют писать модульные приложения с меньшим количеством шаблонного кода. Такой подход должен помочь разработчикам сосредоточиться на написании необходимого кода, а не на изобретении велосипедов в каждом новом проекте.

Основные компоненты

Lifecycles

Каждый Android-разработчик должен уметь работать с ОС, запускать, останавливать и удалять действия своего приложения. Lifecycles позволяет создавать компоненты, которые управляют своими жизненными циклами, уменьшая вероятность утечек или сбоев. Этот компонент Architecture Components уже встроен в Support Library, поэтому вы можете использовать его в стандартных классах наподобие AppCompatActivity.

LiveData

LiveData — это компонент, который хранит все данные и предоставляет обновления в течение всего жизненного цикла приложения. Ваш код пользовательского интерфейса подписывается на изменения и предоставляет LiveData ссылку на его Lifecycle. LiveData — это, прежде всего, простой способ создания реактивных пользовательских интерфейсов, которые являются более безопасными и эффективными.

ViewModel

Класс ViewModel предназначен для хранения и управления данными, связанными с пользовательским интерфейсом в ключе жизненного цикла. Класс ViewModel позволяет данным пережить изменения конфигурации, такие как вращение экрана. ViewModel не только устраняет общие проблемы жизненного цикла, но и помогает создавать модульные и легко тестируемые пользовательские интерфейсы.

Room

Почти всем приложениям необходимо хранить данные локально. Хотя Android и поставляется в комплекте с платформой SQLite, её использование напрямую может быть болезненным. Room представляет собой простой слой для сопоставления объектов, который обеспечивает полную мощность SQlite с меньшим количеством boilerplate-шаблонов.

Руководство пользователя по архитектуре приложений

Также доступно руководство по архитектуре приложений, в котором рассматриваются основные принципы, применимые ко всем разработчикам, и конкретные рекомендации по совместному использованию компонентов. Обновлена документация разработчика, в которую команда Android добавила примеры использования Architecture Components.

Подробнее ознакомиться с новой библиотекой и посмотреть обучающие видео можно на официальном сайте или в GitHub-репозитории продукта.

Источник: блог Android Developers