„Jetpack Compose for Desktop“ prideda „Swing“ sluoksnį ir „Apple Silicon“ palaikymą

„JetBrains“ išleido naują „Jetpack Compose for Desktop“ versiją – atvirojo kodo kelių platformų vartotojo sąsajos kūrimo sistemą.

Jei atliekate bet kokį kūrimo darbą, tikriausiai girdėjote apie „JetBrains“. Tai įmonė, kuri gamina didžiulį IDE rinkinį, į kurį įeina „IntelliJ“ („Android Studio“ bazė), „CLion“, „PhpStorm“ ir daugelis kitų. Jie taip pat yra tie, kurie sukūrė Kotlinas, labai populiari kelių platformų programavimo kalba.

Ir JetBrains vėl grįžta prie to. Kiek daugiau nei prieš metus „Google“ pristatė naują „Android“ skirtą išdėstymo variklį, pavadintą „Jetpack Compose“. Tai praėjo daug svarbių pokyčių nuo to laiko, tačiau jis tapo kompetentinga (nors vis dar šiek tiek nestabilia) alternatyva klasikiniams „Android“ XML išdėstymams.

Ką „Jetpack Compose“ turi bendro su „JetBrains“? Na, pavyzdžiui, parašyta Kotlin. Tačiau taip pat „JetBrains“ tyliai dirbo, kad „Compose“ būtų perkeltas į darbalaukio erdvę. Tai buvo vieša kaip ankstyva kūrėjo peržiūra, o dabar „JetBrains“ yra pasiruošusi oficialiai paskelbti, kad ji egzistuoja.

Kas yra „Jetpack Compose“?

Apie tai šiek tiek kalbėjau įžangoje, bet manau, kad ji nusipelno daugiau paaiškinimo. Jei anksčiau kūrėte naudodami „Android“, tikriausiai esate įpratę, kaip veikia maketai. Pirma, jūs kuriate savo maketą XML faile, o tada sąveikaujate su tuo maketu iš „Java“ arba „Kotlin“. Nors jis yra funkcionalus, jis yra šiek tiek pasenęs, todėl gali būti sunku valdyti išdėstymus skirtingomis kalbomis.

Kaip alternatyvą, „Google“ pradėjo kurti „Jetpack Compose“. „Compose“ yra „Android“ išdėstymo variklis, sukurtas ant „Kotlin“. Visas jūsų išdėstymas ir loginis kodas yra vienoje vietoje, todėl interaktyvumas yra daug lengvesnis. Tai taip pat deklaratyvus, o ne imperatyvus XML maketų stilius.

Pereinant prie deklaratyvaus išdėstymo modulio iš būtinojo, gali prireikti šiek tiek priprasti, tačiau Compose tikrai yra patobulinimas, palyginti su XML, nors jis vis dar yra ankstyvoje stadijoje.

„Jetpack Compose“, skirta darbalaukiui

Taigi, Compose yra puiki vietinių „Android“ programų išdėstymo alternatyva. Bet tai (paprastai) nėra kelių platformų. Čia atsiranda „JetBrains“. Bendrovė perkėlė „Jetpack Compose“ į darbalaukio erdvę, palaikydama „Windows“, „Linux“ ir „MacOS“ (tiek „Intel“, tiek ARM).

Nors yra ir kitų staliniams kompiuteriams skirtų išdėstymo variklių, tokių kaip Electron, JavaFX ir UWP, šiuo metu tai yra šiek tiek netvarka. Kai kurie iš jų nėra kelių platformų, todėl veikia tik vienoje konkrečioje operacinėje sistemoje. Kiti techniškai yra kelių platformų, tačiau juos platinti reikia daug darbo. Ir vis dėlto, su kitais tiesiog sunku dirbti, pavyzdžiui, su JavaFX.

Kita vertus, „Jetpack Compose for Desktop“ yra gana paprasta naudoti, palaiko ekrano mastelį, turi integruotą stilių ir yra (beveik) visiškai pritaikyta kelioms platformoms. Nors dar negalite kompiliuoti visų platinimų iš vienos operacinės sistemos, pats kodas yra visiškai nešiojamas. Kaip ir „Android“, supakuota programa yra pagrįsta „Java“, nors naudotojams nereikia įdiegti JDK, kad galėtų ją naudoti.

Kryžminis suderinamumas

Kadangi „Compose for Desktop“ vis dar nauja, jame trūksta kai kurių funkcijų. Kad kūrėjai galėtų apeiti šiuos apribojimus, „Compose for Desktop“ yra suderinama su dviem populiaresniais „Java“ išdėstymo varikliais – „JavaFX“ ir „Swing“. Jei turite darbalaukio programą, sukurtą viename (arba abiejuose) iš šių variklių, galite pradėti pereiti prie Compose, išlaikydami dabartinę kodų bazę.

Android + darbalaukis

Ką daryti, jei norite perkelti „Android“ kūrimo programą į darbalaukį? Na, jūs taip pat galite (kaip) tai padaryti. Programos vartotojo sąsajos elementus galima lengvai bendrinti „Android“ ir darbalaukyje. Negalėsite pasidalyti viskuo, bet tai tikrai palengvina plėtrą.

Apple Silicon palaikymas

Jau minėjau tai aukščiau, bet paminėsiu dar kartą. The nauji Apple Silicon Mac yra gana nuostabūs, tačiau procesoriai yra pagrįsti ARM procesoriaus architektūra, o tai reiškia, kad daugelis „MacOS“ programų šiuo metu veikia per Rosetta 2 x86 vertėją. Nors „Apple“ su šiuo vertimu atliko gana gerą darbą, vietinės ARM programos vis tiek veiks geriau.

Na, „Jetpack Compose for Desktop“ palaiko „Apple Silicon“. Tai reiškia, kad jums nereikės jaudintis dėl našumo sumažėjimo dėl vertimo ar būsimo palaikymo, kai „Apple“ nutrauks vertimą.

Funkcionalumas

Taigi gerai ir gerai, kad „JetBrains“ sukūrė naują staliniams kompiuteriams skirtą išdėstymo variklį, bet kas gali pasakyti, kad jis geresnis už dabartinį?

Aš.

Rašydamas naudojau naujausią turimą versiją (0.2.0-build132), kad sukurčiau paprastą SystemUI Tuner leidimų suteikimo programą. Kadangi nesu susipažinęs su Compose ir deklaratyviu dizainu, man tai buvo šiek tiek sunkiau nei naudojant XML maketo programą, bet aš tai padariau. Ir juo naudotis daug lengviau nei JavaFX.

Nors temos palaikymas (t. y. tamsusis režimas) vis dar yra šiek tiek nepatogus, gana lengva sukurti interaktyvų išdėstymą, o neskaitant kelių mirgėjimo keičiant lango dydį, viskas veikia gerai.

Jei norite patikrinti programą, šaltinio kodas yra pasiekiamas GitHub. Tiesiog importuokite jį naudodami „IntelliJ“ arba „Android Studio“ ir jis turėtų būti paruoštas paleisti.


Asmeniškai aš labai džiaugiuosi „Jetpack Compose for Desktop“. Anksčiau net nežinojau, kad jis egzistuoja, bet tai jau yra mano pasirinktas darbalaukio išdėstymo variklis. Galite sužinoti daugiau apie „Jetpack Compose“, skirta darbalaukiui, svetainė arba „GitHub“..

Ką jūs manote apie tai? Ar verta patikrinti ir galbūt net naudoti vietoj kitų turimų karkasų? Leisk man žinoti!

Teminiai vaizdo kreditai: „JetBrains“ „GitHub“.