Представляем бета-версию Jetpack Compose
Совсем недавно, 24 февраля, мы анонсировали запуск бета-версии Jetpack Compose. Этот новый набор инструментов для разработки пользовательского интерфейса позволит легко и быстро создавать оригинальные приложения для всех платформ Android. Jetpack Compose предоставляет современные и декларативные API для языка Kotlin для создания привлекательных и быстрых приложений с меньшим объемом кода. Набор совместим с существующими приложениями для Android и библиотеками Jetpack. Кроме того, его можно использовать вместе с Android Views.
Бета-версия Compose — это уже готовый API со всеми основными функциями, необходимыми для комфортной работы. Версия стабильная, поэтому мы не будем изменять или удалять API. Финальная версия 1.0 станет доступна уже в этом году. Сейчас самое время начать знакомство с Compose и запланировать применение новых инструментов в следующих проектах и компонентах.
Возможности бета-версии
При создании Compose нашей команде помогали и другие разработчики, которые оставляли свои отзывы. С момента открытия исходного кода в 2019 году мы выпустили 30 публичных версий продукта, получили более 700 внешних отчетов об ошибках и больше 200 внешних дополнений. Нам нравится наблюдать за результатами вашей работы с Сompose, и мы внимательно изучили все отзывы и предложения, чтобы усовершенствовать API и расставить приоритеты при разработке. Мы значительно доработали альфа-версию продукта, а также добавили и улучшили функционал. Вот некоторые из них:
Поддержка сопрограмм (новое)
Поддержка специальных возможностей для TalkBack. Другие технологии появятся в финальной версии (новое)
Новый API для простого использования анимации (новое)
Совместимость с Views
Компоненты Material UI с примерами кода
Ленивые списки — аналог RecyclerView
Разметка Constraint Layout на основе DSL
Модификаторы
Тестирование
Темы и графика для простого добавления тёмных и светлых тем
Ввод и жесты
Редактируемый и обычный текст
Управление окнами
Главная задача этой бета-версии — обеспечить работу всех API, необходимых в этой и следующих версиях. Мы будем улучшать их стабильность вплоть до финальной версии и уделять внимание производительности и специальным возможностям приложений.
Бета-версия Compose поддерживается в последней версии Android Studio Arctic Fox Canary, в которой тоже много новых инструментов:
Live Literals: обновление литералов в реальном времени при предварительном просмотре, на устройстве и в эмуляторе (новое)
Предварительный просмотр анимации (новое)
Поддержка Compose в инструменте Layout Inspector (новое)
Интерактивный предварительный просмотр: воспроизведение сборки, выполненной с помощью Compose, в изолированной среде и взаимодействие с ней (новое)
Предварительный просмотр разметки: разметка сборки, выполненной с помощью Compose, прямо на устройстве даже при отсутствии полного приложения (новое)
Работа с уже созданным приложением
Jetpack Compose безупречно работает с Android Views, и вам не придется менять старые привычки. Интерфейсы из Compose можно встроить в Android Views, и наоборот. В документации по совместимости рассказано обо всех возможностях использования этих наборов инструментов.
Compose работает не только с Views, но и с самыми распространенными библиотеками. Вам не придется переписывать приложение. Вот что мы интегрировали:
Navigation
ViewModel
LiveData/RX/Flow
Paging
Hilt
Библиотеки MDC-Android Compose Theme Adapter и Accompanist работают с темами Material и AppCompat XML. Вам не придется повторять определения тем. Accompanist также предлагает оболочки распространенным библиотекам для загрузки изображений.
Легкость работы в Compose
Jetpack Compose — это декларативный набор инструментов для разработки пользовательского интерфейса, который отличается от View, позволяя сконцентрироваться на том, как интерфейс должен выглядеть в том или ином состоянии, а не как его создать. Compose обновляет интерфейс при изменении состояния приложения. Вам не придется делать это вручную, а это, в свою очередь, уменьшает вероятность возникновения ошибок.
Jetpack Compose полностью написан на языке Kotlin и использует все его преимущества, предлагая мощные, простые и интуитивные API. Например, сопрограммы позволяют создавать простые асинхронные API для описания жестов, анимации и прокрутки. Это облегчает написание кода, сочетающего асинхронные события, например жесты, передающие анимацию, с отменой и очисткой, обеспечиваемой структурированным параллелизмом.
Знакомство с Compose
Чтобы вы ближе познакомились с Jetpack Compose, мы обновили свой мини-курс с видео, практическими работами и полезными документами. Сегодня мы также обновили руководство по документации, добавили несколько видеороликов и представили новую практическую работу по созданию анимации. Все это поможет лучше работать с Compose. Помимо статей об архитектуре, специальных возможностях и тестировании, теперь вы можете изучить информацию об анимации, списках и декларативности.
А если вам хочется сразу приступить к делу, мы подготовили восемь образцов официальных предложений разных уровней сложности. В них демонстрируются все нужные API для разработки. Чтобы узнать больше, ознакомьтесь с информацией.
Заключение
В бета-версии Jetpack Compose все нужные API и функции готовы к выходу версии 1.0. Самое время знакомиться с набором инструментов и думать о том, где реализовать его возможности. Мы рады вашим отзывам об использовании Compose. Своими впечатлениями можно также поделиться с другими разработчиками на канале #compose в Kotlin Slack.
Выражаем благодарность за помощь в подготовке статьи коллегам: Анна-Кьяра Беллини (менеджер по продуктам), Ник Бутчер (подразделение по работе с разработчиками) и Звиад Кардава (подразделение по работе с разработчиками)