JetBrains выводит в Интернет Jetpack Compose, фреймворк декларативного дизайна Google для Android. Он доступен в качестве предварительного просмотра сегодня.
За последние несколько лет произошел довольно большой толчок к разработке кроссплатформенных программ. Такие фреймворки, как React и Flutter, были созданы, чтобы позволить разработчикам использовать единую базу кода для Android, iOS, настольных компьютеров и даже в Интернете. Даже JetBrains, компания, создавшая некоторые из самых популярных IDE и язык программирования Kotlin, работает над кроссплатформенной разработкой. Сначала с Kotlin Multiplatform, а позже с Jetpack Compose.
Некоторое время назад компания JetBrains портировала Jetpack Compose, фреймворк декларативного дизайна Google для Android. на рабочий стол. Это позволило осуществлять кроссплатформенную разработку настольных компьютеров на основе Java JVM. Используя Jetpack Compose, вы можете создать приложение для Android, macOS, Windows и даже Linux из одной базы кода. Но помимо iOS, в Compose отсутствует довольно большая платформа: Интернет.
Однако ситуация скоро изменится. У JetBrains есть выпущенный то, что они называют технологической превью Jetpack Compose for Web.
Итак, Technology Preview — это, по сути, причудливое название для предварительной альфа-версии. Compose for Web еще далеко не готов к использованию в производстве. Здесь нет учебных пособий, очень мало документации, а API далеко не полны. С учетом вышесказанного давайте посмотрим, что предлагает Compose for Web на данный момент.
В текущей версии существует два способа разработки в Compose для Интернета: использование DOM API или использование существующих виджетов Compose, таких как Столбец или Текст.
Если вы используете DOM API, у вас будут имена API, которые представляют различные элементы HTML, например п, а, и так далее. Однако большая разница между Compose и классическим Kotlin JS заключается в том, что вы можете использовать декларативный дизайн на основе состояний. Этот вариант кажется своего рода мостом между классической веб-разработкой и полноценной декларативной разработкой пользовательского интерфейса. Помимо создания макета, Compose for Web также позволяет создавать динамические таблицы стилей на основе состояний.
Второй вариант будет более знаком разработчикам Android и Compose. Существуют готовые компоненты, такие как Column, Row и Slider, которые можно использовать для создания веб-интерфейса. На данный момент они не очень полны, а стили и параметры реализованы не полностью. Но это, по крайней мере, дает нам представление о том, что JetBrains готовит для Compose for Web.
В целом, на данный момент Compose for Web особо нечего делать. Оно все еще в своем очень Первые дни. Но это может многое значить для будущего. Лично у меня, как у разработчика Android, возникли проблемы с освоением фреймворков макетов на основе браузера. Базовый HTML и CSS могут быть неуклюжими, а синтаксисы React и Flutter по-прежнему основаны на HTML-дизайне.
Полнофункциональный кроссплатформенный язык дизайна, не основанный на принципах веб-дизайна, довольно интересен. Хотя Jetpack Compose еще предстоит пройти долгий путь, то, что запланировала JetBrains, может иметь большое значение для будущего дизайна пользовательского интерфейса.
Если вы хотите узнать больше о Compose for Web, ознакомьтесь с объявлением JetBrains. Если вы хотите поиграть с текущей реализацией, перейдите в репозиторий GitHub.