Jetpack Compose for Web — це нова структура інтерфейсу користувача для веб-розробки

JetBrains представляє в Інтернеті Jetpack Compose, декларативну структуру дизайну Google для Android. Сьогодні він доступний для попереднього перегляду.

За останні кілька років відбувся досить великий поштовх до розробки кросплатформних програм. Фреймворки, такі як React і Flutter, були створені, щоб дозволити розробникам ділитися єдиною кодовою базою для Android, iOS, комп’ютера та навіть Інтернету. Навіть JetBrains, компанія, яка розробила деякі з найпопулярніших IDE та мову програмування Kotlin, працювала над кросплатформною розробкою. Спочатку з Kotlin Multiplatform, але нещодавно з Jetpack Compose.

Нещодавно JetBrains портував Jetpack Compose, декларативну структуру дизайну Google для Android, на робочий стіл. Це дозволило розробити кросплатформенний робочий стіл на основі JVM Java. Використовуючи Jetpack Compose, ви можете створити програму для Android, macOS, Windows і навіть Linux з однієї кодової бази. Але, окрім iOS, у Compose відсутня досить велика платформа: Інтернет.

Однак це скоро зміниться. JetBrains має

звільнений те, що вони називають технологічним попереднім переглядом Jetpack Compose для Інтернету.

Тепер Technology Preview — це, по суті, химерна назва для пре-альфи. Compose for Web ще не готовий до використання у виробництві. Немає навчальних посібників, дуже мало документації, а API далеко не завершені. З огляду на це, давайте подивимося, що наразі пропонує Compose for Web.

У поточній версії є два способи розробки в Compose for Web: за допомогою DOM API або за допомогою наявних віджетів Compose, таких як Column або Text.

Якщо ви використовуєте DOM API, ви матимете імена API, які представляють різні елементи HTML, наприклад стор, a, і так далі. Велика різниця між Compose і класичним Kotlin JS полягає в тому, що ви можете використовувати декларативний дизайн на основі стану. Цей варіант здається своєрідним містком між класичною веб-розробкою та повноцінною декларативною розробкою інтерфейсу користувача. Окрім створення макета, Compose for Web також дозволяє створювати динамічні таблиці стилів на основі стану.

Другий варіант буде більш звичним для розробників Android і Compose. Існують готові компоненти, як-от стовпець, рядок і повзунок, які можна використовувати для створення веб-інтерфейсу користувача. Наразі вони не дуже повні, а стилі та параметри реалізовано не повністю. Але це принаймні дає нам уявлення про те, що JetBrains підготував для Compose for Web.

Загалом, на даний момент не так багато, щоб створити для Інтернету. Це все ще в його дуже перші дні. Але це може багато означати для майбутнього. Особисто я, як розробник Android, мав проблеми з вивченням фреймворків компонування на основі браузера. Базовий HTML і CSS можуть бути незграбними, а синтаксис React і Flutter все ще базується на дизайні HTML.

Повнофункціональна кросплатформна мова дизайну, яка не базується на принципах веб-дизайну, є досить захоплюючою. Хоча Jetpack Compose ще має пройти довгий шлях, те, що планує JetBrains, може мати велике значення для майбутнього дизайну інтерфейсу користувача.

Якщо ви хочете дізнатися більше про Compose for Web, перегляньте оголошення JetBrains. Якщо вам цікаво пограти з поточною реалізацією, перейдіть до репозиторію GitHub.