Представляем бета-версию Jetpack Compose

7782c251903f04fa802371dc8601d6e8.jpg

Совсем недавно, 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, прямо на устройстве даже при отсутствии полного приложения (новое)

Live Literals в Android EmulatorLive Literals в Android EmulatorLayout Inspector для Jetpack ComposeLayout Inspector для Jetpack 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.

Выражаем благодарность за помощь в подготовке статьи коллегам: Анна-Кьяра Беллини (менеджер по продуктам),  Ник Бутчер (подразделение по работе с разработчиками) и Звиад Кардава (подразделение по работе с разработчиками)

© Habrahabr.ru