Первая предрелизная версия Compose for Desktop

Oksana Mandryka

Мы рады представить предварительный релиз Compose for Desktop — фреймворка, который позволяет легко создавать быстрые и красивые пользовательские интерфейсы на Kotlin. Приглашаем вас провести тест-драйв предварительной версии Compose for Desktop и поделиться своими впечатлениями. Нам важно узнать ваше мнение!

Перейти на страницу Compose for Desktop

Создавайте интерфейсы для десктопа с удовольствием

Compose for Desktop поддерживает декларативный и реактивный подходы к UI-разработке на Kotlin. API фреймворка вдохновлен технологиями React и Flutter. Compose for Desktop позволяет составлять код дектопного UI из composable-функций. Фреймворк автоматически обеспечивает синхронизацию состояния приложения и его визуального представления.

Compose for Desktop берет за основу Jetpack Compose — набор инструментов от Google для разработки интерфейсов под Android. Поэтому, если вы уже знакомы с Jetpack Compose для Android, эти знания помогут вам при работе с Compose for Desktop (и наоборот). Базовые API, которые предоставляет Compose for Desktop, очень схожи со своими мобильными аналогами (это касается модификаторов, UI-элементов, примитивов и др.). Фактически ядро Compose for Desktop разрабатывается как основная часть Jetpack Compose — обе технологии будут развиваться параллельно. Благодаря этому, существенная часть UI-реализации может быть общей для десктопа и Android.

Начать работу с Compose for Desktop вы сможете довольно быстро. После того, как вы настроите проектные зависимости, вы сможете описать stateful-интерфейс буквально в нескольких строках кода, а библиотека готовых элементов Material Design поможет приступить к созданию UI.

Однако возможности Compose for Desktop далеко не ограничиваются работой с UI-элементами, composable-функциями и прочими концепциями из Jetpack Compose для Android.

API для десктоп-интерфейсов

Чтобы вы могли создавать десктопные интерфейсы, которые хорошо интегрируются в ваши приложения, Compose for Desktop предлагает свой набор API, предоставляющих функциональность непосредственно для десктоп-разработки. Они устроены так же, как и другие Compose API, и позволят вашему приложению реагировать на события указателя мыши, управлять окнами и запрашивать их размеры и расположение, создавать иконки для трея и элементы панелей меню и т. д.

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

Легкая миграция и полный контроль

Compose for Desktop, как и сам язык Kotlin, следует философии легкой совместимости и удобной миграции. Compose for Desktop включает интеграцию с библиотеками Swing и AWT, позволяющую использовать всю мощь этих Java-интерфейсов при создании приложений. Также, если ваши приложения используют эти Swing или AWT, вы сможете постепенно переносить их в Compose for Desktop.

Для максимальной гибкости и контроля мы также обеспечили доступ к существенной части API нативной графической библиотеки Skia — двигателю Compose for Desktop, позволяющему полностью контролировать рендеринг приложения.

С чего начать

Надеемся, что вы ждете Compose for Desktop не меньше, чем мы! Для знакомства с инструментом предлагаем воспользоваться руководством для начинающих, где мы объясняем, как при помощи Compose for Desktop настроить и запустить приложение. Также мы подготовили обучающие материалы по самым разным темам: использование изображений, работа с событиями мыши, отправка десктопных уведомлений и др. Все руководства доступны в нашем репозитории. Описания обучающих материалов вы найдете на домашней странице Compose for Desktop.

Перейти на страницу Compose for Desktop

Один из лучших ресурсов для изучения ComposeAndroid Developer Portal. Здесь объясняются различные концепции, связанные с базовым API, который является частью Compose for Desktop. Чтобы познакомиться с ментальной моделью и основным API Compose, вы можете пройти курс Jetpack Compose Pathway, состоящий из 10 уроков (статьи, видео и пр.).

Чтобы изучить Compose for Desktop с точки зрения сложных сценариев использования, ознакомьтесь с нашими демонстрационными приложениями. Там много всего интересного. Например, мы показываем, как при помощи Kotlin Multiplatform сделать единый пользовательский интерфейс для десктопа и для Android.

Примечания к предрелизной версии

Этот релиз Compose for Desktop — предварительный. Это значит, что вы можете столкнуться с зависаниями или ощутить нехватку функциональности. Также важно отметить, что к релизу первой стабильной версии мы можем изменить некоторые из задействованных во фреймворке API. Мы продолжаем работать над стабильной версией и просим вас помочь нам в этом.

Делитесь впечатлениями и присоединяйтесь к дискуссии!

Для нас предварительные релизы — важный способ получения обратной связи, чтобы мы могли исправить критические проблемы и добавить востребованную функциональность в стабильную версию. Если, пользуясь Compose for Desktop, вы обнаружите какие-либо проблемы или определите сценарии использования, которые не покрыты нашим API для десктопа, — пожалуйста, расскажите об этом в нашем баг-трекере.

Если вы хотите пообщаться с командой Compose for Desktop и другими пользователями, присоедининяйтесь к обсуждениям Kotlin в Slack. Канал #compose-desktop посвящен Compose for Desktop, а в канале #compose можно обсудить общие темы, связанные с Compose и Jetpack Compose для Android.

Надеемся, вам понравится создавать интерфейсы в Compose for Desktop!

Ваша команда JetBrains
The Drive to Develop