JetBrains Compose для настольных компьютеров и Интернета теперь находится в стадии альфа-версии

JetBrains выпустила Compose для настольных компьютеров и Интернета, порт Google Jetpack Compose для Android, в альфа-версию. Вот что нового.

Если вы не слышали о Реактивный ранец, где ты был в последнее время? Google создал эту декларативную структуру пользовательского интерфейса, чтобы заменить стандартный механизм макетирования XML в Android. Compose позволяет разработчикам создавать свои макеты и сопутствующую логику в Kotlin. JetBrains, компания, стоящая за Kotlin, также приняла участие в проекте Compose и работает над его переносом как на настольные компьютеры, так и в Интернет.

JetBrains Compose для настольных компьютеров и Интернета уже некоторое время находится в разработке. У него была общедоступная предварительная альфа-версия «Technology Preview», которую разработчики могли использовать для создания кроссплатформенных приложений в Compose. Я лично использовал его для мое приложение для загрузки прошивки Samsung, и это работает очень хорошо.

Сегодня JetBrains продвигает свою версию Compose в альфа-версию. Это означает более стабильный API, а также некоторые новые функции и изменения.

Написать для Интернета

Прежде всего, Интернет. Compose for Web — это даже новее, чем Compose для рабочего стола, и его немного не хватает. Однако это не значит, что это бесполезно. Хотя разработчики могут не получить модные основные элементы пользовательского интерфейса, доступные для настольных компьютеров и Android, разработчики по-прежнему получают преимущества от написания на Kotlin с принципами декларативного дизайна.

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

Создание управления окнами

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

Первый — новый API составного окна. Это позволяет разработчикам декларативно взаимодействовать с окнами своего приложения. Например, заголовок окна теперь можно изменить в зависимости от состояния, а окна можно даже открывать и закрывать в зависимости от состояний.

Другая часть API нового окна позволяет разработчикам выбирать, открывать ли новые окна с адаптивным (а не фиксированным) размером. Это означает, что Compose рассчитает, насколько большим должно быть окно, исходя из его содержимого, автоматически установит начальный размер, а затем откроет окно.

Плагины

JetBrains Compose всегда имел плагин Gradle для компиляции и выполнения. В альфа-версии этот плагин получает обновленную версию, а также исправлены некоторые ошибки.

Однако помимо плагина Gradle есть теперь плагин IDE для IntelliJ IDEA и Android Studio для лучшей поддержки Compose для настольных компьютеров и Интернета. Подобно Compose для Android, этот плагин позволяет разработчикам аннотировать компонуемые функции в качестве предварительного просмотра и просматривать предварительный просмотр макета непосредственно в IDE.

Плагин на данный момент очень простой. Единственная другая функция, которую он имеет на данный момент, удаляет предупреждение IDE lint об использовании регистра заголовков для составных имен функций. Но со временем он получит больше функций, таких как предварительный просмотр в реальном времени.

Поддержка архитектуры

Несмотря на то, что цель JetBrains Compose — стать кроссплатформенной, она пока не обеспечивает полной поддержки всех архитектур ЦП. Альфа расширяет текущую поддержку до следующего:

  • macOS: x86-64 (amd64), Arm64
  • Windows: x86-64 (amd64)
  • Linux: x86-64 (amd64), Arm64.
  • Интернет: все последнее

Хотя это, конечно, не охватывает всего, поддержка в будущем будет только улучшаться.

Будущие разработки

Решение JetBrains перевести Compose в альфа-состояние имеет важное значение. Это означает, что они планируют продолжить разработку, вплоть до бета-версии и стабильной стадии. И, конечно, больше возможностей.

Заключение

Очень интересно видеть, что может предложить Compose. В Android он заменяет устаревший (хотя и вполне удобный) движок компоновки. На настольных компьютерах и в Интернете он обеспечивает декларативный дизайн с использованием строго типизированного языка, который проще в использовании (по крайней мере для меня), чем языки на основе TypeScript. Compose помогает заполнить довольно большой пробел в функциональных механизмах компоновки, особенно на настольных компьютерах.

Если вы хотите попробовать JetBrains Compose самостоятельно, проверьте репозиторий GitHub для получения более подробной информации о том, как начать.