JetBrains přináší Jetpack Compose, deklarativní designový rámec Google pro Android, na web. Dnes je k dispozici jako náhled.
V posledních několika letech došlo k poměrně velkému tlaku na vývoj programů napříč platformami. Frameworky jako React a Flutter byly vytvořeny, aby umožnily vývojářům sdílet jedinou kódovou základnu napříč Androidem, iOS, desktopem a dokonce i na webu. Dokonce i JetBrains, společnost stojící za některými z nejpopulárnějších IDE a programovacím jazykem Kotlin, pracuje na vývoji napříč platformami. Nejprve s Kotlin Multiplatform, ale nedávno s Jetpack Compose.
Před časem JetBrains portoval Jetpack Compose, deklarativní designový rámec Google pro Android, na plochu. To umožnilo vývoj desktopů napříč platformami založený na JVM Java. Pomocí Jetpack Compose můžete vytvořit aplikaci pro Android, macOS, Windows a dokonce i Linux, vše z jedné kódové základny. Ale kromě iOS v Compose chybí docela velká platforma: web.
To se však brzy změní. JetBrains má propuštěn čemu říkají Technology Preview of Jetpack Compose for Web.
Nyní je Technology Preview v podstatě luxusní název pro pre-alfa. Compose for Web není zdaleka připraven k použití v produkci. Neexistují žádné tutoriály, velmi málo dokumentace a rozhraní API nejsou zdaleka kompletní. Nyní se podívejme, co Compose for Web zatím nabízí.
V aktuální verzi existují dva způsoby, jak můžete v Compose for Web vyvíjet: pomocí DOM API nebo pomocí existujících widgetů Compose, jako je Column nebo Text.
Pokud používáte DOM API, budete mít názvy API, které představují různé prvky HTML, jako např p, A, a tak dále. Velký rozdíl mezi Compose a klasickým Kotlin JS je však v tom, že můžete použít stavový deklarativní design. Tato možnost se zdá být trochu mostem mezi klasickým vývojem webu a plnohodnotným deklarativním vývojem uživatelského rozhraní. Kromě vytváření rozvržení vám Compose for Web také umožňuje vytvářet dynamické šablony stylů založené na stavu.
Druhá možnost je to, co bude vývojářům Android a Compose připadat známější. Existují předem připravené komponenty, jako je sloupec, řádek a posuvník, které můžete použít k vytvoření webového uživatelského rozhraní. Právě teď nejsou příliš kompletní a styly a možnosti nejsou plně implementovány. Ale alespoň nám to dává představu o tom, co má JetBrains pro Compose for Web připraveno.
Celkově lze říci, že v tuto chvíli toho není moc k psaní pro web. Je to stále ve svém velmi brzké dny. Ale pro budoucnost to může znamenat hodně. Osobně jsem měl jako vývojář pro Android problém dostat se do rámců rozložení založených na prohlížeči. Základní HTML a CSS mohou být neohrabané a syntaxe React a Flutter jsou stále založeny na návrhu HTML.
Plně vybavený designový jazyk pro různé platformy, který není založen na principech webdesignu, je docela vzrušující. Zatímco Jetpack Compose má před sebou ještě dlouhou cestu, to, co JetBrains naplánoval, může znamenat hodně pro budoucnost designu uživatelského rozhraní.
Pokud se chcete dozvědět více o Compose for Web, podívejte se na oznámení JetBrains. Pokud si chcete pohrát se současnou implementací, přejděte do úložiště GitHub.