Кроссплатформенная разработка
Вышла превью-версия Jetpack Compose для веба
Вслед за версией для десктопов, в JetBrains выпустили первую технологическую превью-версию Jetpack Compose для веба.
Вслед за версией для десктопов, в JetBrains выпустили первую технологическую превью-версию Jetpack Compose для веба.
Предварительная версия Compose for Web еще далека от завершения — для нее еще нет учебных материалов или документации, она не оптимизирована в производительности. В целом авторы говорят, что она точно еще не готова для использования в каком-либо реальном приложении.
Однако она дает возможность любителям Kotlin протестировать новую технологию. И компания надеется, что отзывы, идеи и варианты использования помогут в дальнейшем развитии Compose for Web.
Jetpack Compose for Web работает поверх Kotlin Multiplatform, что означает, что вы можете разрабатывать приложения для Android, десктопов и веб-приложения, используя Jetpack Compose в качестве UI-инфраструктуры — и все это в рамках одного проекта. Kotlin Multiplatform позволяет вам делиться независимым от платформы кодом и функциями, при этом имея возможность реализовывать и использовать специфические для платформы функции в Android, Desktop JVM и экосистеме JavaScript.
В этой предварительной версии вы уже можете свободно использовать все основные концепции управления состоянием Compose на разных платформах. Compose for Web в настоящее время не позволяет напрямую повторно использовать существующие виджеты (в отличие от Jetpack Compose для Android и Desktop, которые позволяют напрямую совместно использовать код для большинства виджетов прямо “из коробки”).
Однако вы можете использовать механизм expect/actual в Kotlin Multiplatform для создания собственных общих виджетов с реализациями для всех трех платформ. Таким образом, вы можете применить одинаковые принципы для создания пользовательского интерфейса приложения на мобильных устройствах, настольных компьютерах и в Интернете.
Чтобы дать вам отправную точку для изучения этой технологии, JetBrains предлагает несколько примеров приложений, демонстрирующих использование DOM и Widget API соответственно.