JetBrains uvoľnil Compose for Desktop and Web, port Jetpack Compose od Google pre Android, do verzie alfa. Tu je novinka.
Ak ste ešte nepočuli Jetpack Compose, kde si bol v poslednej dobe? Google vytvoril tento deklaratívny rámec používateľského rozhrania, aby nahradil štandardný modul rozloženia XML v systéme Android. Compose umožňuje vývojárom vytvárať ich rozloženia a sprievodnú logiku všetko v Kotline. JetBrains, spoločnosť stojaca za Kotlinom, sa tiež zapojila do akcie Compose a pracuje na jej prenose na desktop aj web.
JetBrains Compose for Desktop and Web je už nejaký čas vo vývoji. Má verejnú predbežnú verziu „Technology Preview“, ktorú môžu vývojári použiť na vytváranie aplikácií pre rôzne platformy v aplikácii Compose. Osobne som to používal na moja aplikácia Samsung Firmware Downloader, a funguje to celkom dobre.
Dnes JetBrains propaguje svoju verziu Compose na alfa. To znamená stabilnejšie API spolu s niektorými novými funkciami a zmenami.
Skladanie pre web
Po prvé, web. Písanie pre web je párne
novšie ako Compose for Desktop, a chýba tomu dosť málo. To však neznamená, že je to zbytočné. Aj keď vývojári nemusia získať ozdobné prvky základného používateľského rozhrania dostupné pre Desktop a Android, vývojári stále využívajú výhody písania v Kotline s deklaratívnymi princípmi dizajnu.Teraz, keď je Compose vo fáze alfa, webové rozhranie API by malo byť stabilnejšie, s menším počtom, ak vôbec nejakými, zmenami vykonanými v priebehu času.
Vytvoriť správu okien
Späť na Pracovnú plochu, došlo k niektorým zmenám v spôsobe interakcie vývojárov s oknami v ich aplikácii.
Prvý je nový zostaviteľné okno API. To umožňuje vývojárom interagovať s oknami v ich aplikácii deklaratívne. Napríklad titulok okna možno teraz zmeniť pomocou stavu a okná možno dokonca otvárať a zatvárať na základe stavov.
Ďalšia časť rozhrania API nového okna umožňuje vývojárom zvoliť si otváranie nových okien s adaptívnou (namiesto pevnej) veľkosti. To znamená, že Compose vypočíta, aké veľké musí byť okno na základe jeho obsahu, automaticky nastaví počiatočnú veľkosť a potom okno otvorí.
Pluginy
JetBrains Compose vždy mal doplnok Gradle na kompiláciu a spustenie. S verziou alfa dostáva tento doplnok vylepšenú verziu spolu s niektorými opravami chýb.
Navrchu doplnku Gradle sa však nachádza teraz plugin IDE pre IntelliJ IDEA a Android Studio na lepšiu podporu funkcie Compose for Desktop a Web. Podobne ako Compose for Android, tento doplnok umožňuje vývojárom anotovať skladateľné funkcie ako ukážky a zobraziť ukážky rozloženia priamo v IDE.
Plugin je teraz veľmi jednoduchý. Jediná ďalšia funkcia, ktorú má práve teraz, odstraňuje IDE varovanie o používaní veľkých písmen v názvoch skladateľných funkcií. Postupom času však dostane viac funkcií, ako napríklad živý náhľad.
Podpora architektúry
Aj keď cieľom JetBrains Compose je byť multiplatformový, zatiaľ nemá úplnú podporu pre všetky architektúry CPU. Alfa rozširuje súčasnú podporu na nasledujúce:
- macOS: x86-64 (amd64), arm64
- Windows: x86-64 (amd64)
- Linux: x86-64 (amd64), arm64
- Web: čokoľvek najnovšie
Aj keď to určite nepokrýva všetko, podpora sa bude v budúcnosti len zlepšovať.
Budúci vývoj
Rozhodnutie JetBrains presunúť Compose do stavu alfa je dôležité. Znamená to, že pre ňu plánujú pokračovať vo vývoji s prípadnými beta a stabilnými fázami. A, samozrejme, ďalšie funkcie.
Záver
Je celkom vzrušujúce vidieť, čo Compose prináša. V systéme Android nahrádza zastaraný (hoci dokonale použiteľný) modul rozloženia. Na pracovnej ploche a webe prináša deklaratívny dizajn využívajúci jazyk so silným typom, ktorý sa používa jednoduchšie (aspoň pre mňa) ako jazyky založené na TypeScript. Najmä na pracovnej ploche Compose pomáha vyplniť dosť veľkú medzeru pre funkčné moduly rozloženia.
Ak máte záujem vyskúšať JetBrains Compose sami, pozrite si úložisko GitHub pre viac podrobností o tom, ako začať.