Jetpack Compose for Desktop doda sloj Swing in podporo za Apple Silicon

JetBrains je izdal novo različico Jetpack Compose for Desktop, odprtokodnega ogrodja za razvoj uporabniškega vmesnika za več platform.

Če se ukvarjate s kakršnim koli razvojnim delom, ste verjetno že slišali za JetBrains. Oni so podjetje, ki stoji za ogromno zbirko IDE, ki vključuje IntelliJ (osnovo za Android Studio), CLion, PhpStorm in številne druge. Oni so tudi tisti, ki so naredili Kotlin, izjemno priljubljen programski jezik za več platform.

In JetBrains se spet vrača k temu. Pred nekaj več kot letom dni je Google predstavil nov mehanizem postavitve za Android, imenovan Jetpack Compose. Šlo je skozi kar nekaj večjih sprememb od takrat, vendar se je spremenil v kompetentno (čeprav še vedno nekoliko nestabilno) alternativo klasičnim postavitvam XML za Android.

Kaj ima Jetpack Compose opraviti z JetBrains? No, za prvo je napisano v Kotlinu. Toda tudi JetBrains je tiho delal na prenosu Compose v namizni prostor. Javen je bil kot predogled zgodnjega razvijalca, zdaj pa je JetBrains pripravljen uradno objaviti, da obstaja.

Kaj je Jetpack Compose?

O tem sem nekaj govoril v uvodu, vendar mislim, da si zasluži nekaj več razlage. Če ste že razvijali v sistemu Android, ste verjetno navajeni, kako delujejo postavitve. Najprej oblikujete svojo postavitev v datoteki XML, nato pa s to postavitvijo komunicirate iz Jave ali Kotlina. Čeprav je funkcionalen, je nekoliko zastarel in je lahko težko upravljati, če so vaše postavitve razdeljene po jezikih.

Kot alternativo temu je Google začel razvijati Jetpack Compose. Compose je mehanizem postavitve za Android, zgrajen na osnovi Kotlina. Vsa vaša postavitev in logična koda sta na enem mestu, zaradi česar je interaktivnost veliko lažja. Je tudi deklarativen, namesto imperativnega sloga postavitev XML.

Prehod na mehanizem deklarativne postavitve z imperativnega lahko zahteva nekaj privajanja, vendar je Compose vsekakor izboljšava v primerjavi s XML, čeprav je še vedno v zgodnji fazi.

Jetpack Compose za namizne računalnike

Compose je torej lepa alternativa postavitvi za izvorne aplikacije za Android. Vendar (običajno) ni na več platformah. Tu nastopi JetBrains. Podjetje je Jetpack Compose preneslo na namizni prostor s podporo za Windows, Linux in macOS (Intel in ARM).

Čeprav obstajajo drugi mehanizmi za postavitev za namizne računalnike, kot so Electron, JavaFX in UWP, je trenutno malo zmešnjava. Nekateri niso medplatformski, zato delujejo samo v enem določenem operacijskem sistemu. Drugi so tehnično večplatformni, vendar zahtevajo veliko dela za distribucijo. Še vedno pa je delo z drugimi samo muka, kot je JavaFX.

Jetpack Compose for Desktop pa je razmeroma enostaven za uporabo, podpira skaliranje zaslona, ​​ima vgrajen slog in je (skoraj) v celoti večplatformski. Čeprav še ne morete prevajati za vse distribucije iz enega operacijskega sistema, je sama koda popolnoma prenosljiva. Tako kot pri Androidu tudi paketna aplikacija temelji na Javi, čeprav uporabniki za njeno uporabo ne potrebujejo nameščenega JDK.

Navzkrižna združljivost

Ker je Compose for Desktop še nov, manjkajo nekatere funkcije. Za pomoč razvijalcem pri obhodu teh omejitev je Compose for Desktop interoperabilen z dvema bolj priljubljenima mehanizmoma za postavitev Java, JavaFX in Swing. Če imate namizno aplikacijo, razvito v enem (ali obeh) od teh mehanizmov, lahko začnete s prehodom na Compose, medtem ko ohranite svojo trenutno zbirko kod.

Android + namizje

Kaj pa, če želite svojo aplikacijo Compose Android prenesti na namizje? No, to lahko tudi (nekako) storite. Elemente uporabniškega vmesnika vaše aplikacije lahko enostavno delite med Androidom in namizjem. Ne boste mogli deliti vsega, vendar zagotovo olajša razvoj.

Podpora Apple Silicon

To sem omenil zgoraj, vendar bom omenil še enkrat. The novi Apple Silicon Mac so precej neverjetni, vendar procesorji temeljijo na arhitekturi procesorja ARM, kar pomeni, da se veliko aplikacij za macOS trenutno izvaja prek prevajalnika Rosetta 2 x86. Medtem ko je Apple opravil precej dobro delo s tem prevodom, bodo domači programi ARM še vedno delovali bolje.

No, Jetpack Compose for Desktop izvorno podpira Apple Silicon. To pomeni, da vam ne bo treba skrbeti za padce zmogljivosti zaradi prevajanja ali za prihodnjo podporo, ko jo Apple ukine.

Funkcionalnost

Torej je vse lepo in prav, da je JetBrains izdelal nov mehanizem postavitve za namizje, a kdo lahko reče, da je boljši od tega, kar imamo zdaj?

jaz

Uporabil sem najnovejšo razpoložljivo gradnjo od pisanja tega (0.2.0-build132) za izdelavo preproste aplikacije za dodeljevanje dovoljenj za SystemUI Tuner. Ker nisem tako dobro seznanjen s Compose in deklarativnim oblikovanjem, je bilo zame nekoliko težje kot aplikacija za postavitev XML, vendar mi je uspelo. In je veliko lažji za uporabo kot JavaFX.

Medtem ko je podpora temi (tj. temni način) še vedno malo dvomljiva, je precej enostavno zgraditi interaktivno postavitev in razen nekaj utripanja pri spreminjanju velikosti okna, vse deluje dobro.

Če želite preveriti aplikacijo, je izvorna koda na voljo na GitHub. Preprosto ga uvozite z IntelliJ ali Android Studio in že bi moral biti pripravljen za zagon.


Osebno sem zelo navdušen nad Jetpack Compose for Desktop. Prej sploh nisem vedel, da obstaja, vendar je to že moj izbrani mehanizem postavitve namizja. Več lahko izveste na Spletno mesto Jetpack Compose for Desktop oz na GitHubu.

Kaj misliš o tem? Ali je vredno preveriti in ga morda celo uporabiti namesto drugih razpoložljivih okvirov? Obvesti me!

Zasluge za predstavljene slike: JetBrains na GitHubu