Jetpack Compose for Web je nový rámec používateľského rozhrania pre vývoj webových aplikácií

JetBrains prináša Jetpack Compose, deklaratívny dizajnový rámec Google pre Android, na web. Dnes je k dispozícii ako ukážka.

V posledných rokoch došlo k veľkému tlaku na vývoj programov naprieč platformami. Rámce ako React a Flutter boli vytvorené, aby umožnili vývojárom zdieľať jednotnú kódovú základňu pre Android, iOS, desktop a dokonca aj web. Dokonca aj JetBrains, spoločnosť stojaca za niektorými z najpopulárnejších IDE a programovacím jazykom Kotlin, pracuje na vývoji medzi platformami. Najprv s Kotlin Multiplatform, ale nedávno s Jetpack Compose.

JetBrains pred časom preniesol Jetpack Compose, deklaratívny dizajnový rámec Google pre Android, na plochu. To umožnilo vývoj desktopov naprieč platformami založený na JVM Java. Pomocou Jetpack Compose môžete vytvoriť aplikáciu pre Android, MacOS, Windows a dokonca aj Linux, a to všetko z jednej kódovej základne. Okrem iOS však v Compose chýba dosť veľká platforma: web.

To sa však čoskoro zmení. JetBrains má prepustený čo nazývajú ukážkou technológie Jetpack Compose for Web.

Teraz je Technology Preview v podstate vymyslený názov pre pre-alfa. Compose for Web nie je ani zďaleka pripravený na použitie v produkcii. Neexistujú žiadne návody, veľmi málo dokumentácie a rozhrania API nie sú ani zďaleka dokončené. Po tomto sa pozrime, čo zatiaľ Compose for Web ponúka.

V aktuálnej verzii existujú dva spôsoby, ako môžete v Compose for Web vyvíjať: pomocou rozhrania DOM API alebo pomocou existujúcich miniaplikácií Compose, ako je napríklad stĺpec alebo text.

Ak používate DOM API, budete mať názvy API, ktoré predstavujú rôzne prvky HTML, ako napr p, a, a tak ďalej. Veľký rozdiel medzi Compose a klasickým Kotlin JS je však v tom, že môžete použiť štátny deklaratívny dizajn. Táto možnosť sa zdá byť trochu mostom medzi klasickým vývojom webu a úplným deklaratívnym vývojom používateľského rozhrania. Okrem vytvárania rozloženia vám Compose for Web tiež umožňuje vytvárať dynamické šablóny štýlov založené na stave.

Druhou možnosťou je to, čo bude vývojárom Android a Compose viac povedomé. Existujú vopred pripravené komponenty, ako sú stĺpec, riadok a posúvač, ktoré môžete použiť na vytvorenie webového používateľského rozhrania. Práve teraz nie sú úplne úplné a štýly a možnosti nie sú úplne implementované. Ale aspoň nám to dáva predstavu o tom, čo má JetBrains pripravené pre Compose for Web.

Celkovo možno povedať, že momentálne toho nie je veľa, čo by ste mohli komponovať pre web. Je to stále vo svojom veľmi skoré dni. Ale môže to znamenať veľa pre budúcnosť. Osobne som mal ako vývojár pre Android problém dostať sa do frameworkov rozloženia založených na prehliadači. Základné HTML a CSS môžu byť neohrabané a syntaxe React a Flutter sú stále založené na dizajne HTML.

Plne funkčný, multiplatformový dizajnový jazyk, ktorý nie je založený na princípoch webového dizajnu, je celkom vzrušujúci. Zatiaľ čo Jetpack Compose má pred sebou ešte dlhú cestu, to, čo plánuje JetBrains, môže znamenať veľa pre budúcnosť dizajnu používateľského rozhrania.

Ak sa chcete dozvedieť viac o Compose for Web, pozrite si oznámenie JetBrains. Ak máte záujem pohrať sa s aktuálnou implementáciou, prejdite do úložiska GitHub.