Jetpack Compose for Desktop lisää Swing-kerroksen ja Apple Silicon -tuen

click fraud protection

JetBrains on julkaissut uuden version Jetpack Compose for Desktopista, avoimen lähdekoodin monialustaisesta käyttöliittymäkehityskehyksestä.

Jos teet minkäänlaista kehitystyötä, olet todennäköisesti kuullut JetBrainsista. He ovat valtavan IDE-sarjan takana oleva yritys, johon kuuluvat IntelliJ (Android Studion perusta), CLion, PhpStorm ja monet muut. He ovat myös niitä, jotka tekivät Kotlin, erittäin suosittu monialustainen ohjelmointikieli.

Ja JetBrains on palannut asiaan jälleen. Hieman yli vuosi sitten Google esitteli Androidille uuden asettelumoottorin nimeltä Jetpack Compose. Se on mennyt läpi sen jälkeen on tapahtunut useita merkittäviä muutoksia, mutta siitä on tullut pätevä (vaikkakin vielä hieman epävakaa) vaihtoehto Androidin klassisille XML-asetteluille.

Mitä tekemistä Jetpack Composella on JetBrainsin kanssa? Ensinnäkin se on kirjoitettu Kotlinilla. Mutta myös JetBrains on hiljaa työskennellyt Composen siirtämiseksi työpöytätilaan. Se on ollut julkinen varhaisena kehittäjän esikatseluna, ja nyt JetBrains on valmis ilmoittamaan virallisesti sen olemassaolosta.

Mikä on Jetpack Compose?

Puhuin siitä hieman johdannossa, mutta mielestäni se ansaitsee lisäselvityksen. Jos olet kehittänyt Androidilla aiemmin, olet todennäköisesti tottunut asettelujen toimintaan. Ensin suunnittelet asettelusi XML-tiedostoon ja sitten olet vuorovaikutuksessa tämän asettelun kanssa Javasta tai Kotlinista. Vaikka se on toimiva, se on hieman vanhentunut, ja asettelujen jakaminen eri kielille voi olla vaikea hallita.

Vaihtoehtona tälle Google alkoi kehittää Jetpack Composea. Compose on Kotlinin päälle rakennettu asettelumoottori Androidille. Kaikki asettelusi ja logiikkakoodisi ovat yhdessä paikassa, mikä tekee interaktiivisuudesta paljon helpompaa. Se on myös deklaratiivinen XML-asettelujen pakottavan tyylin sijaan.

Deklaratiiviseen asettelumoottoriin siirtyminen pakollisesta voi vaatia totuttelua, mutta Compose on ehdottomasti parannus XML: ään verrattuna, vaikka se on vielä alkuvaiheessa.

Jetpack Compose työpöydälle

Joten Compose on mukava asetteluvaihtoehto alkuperäisille Android-sovelluksille. Mutta se ei ole (yleensä) cross-platform. Siinä JetBrains tulee mukaan. Yritys on siirtänyt Jetpack Composen työpöytätilaan, ja se tukee Windowsia, Linuxia ja macOS: ää (sekä Intel että ARM).

Vaikka työpöytäkoneille on olemassa muita asettelumoottoreita, kuten Electron, JavaFX ja UWP, se on tällä hetkellä hieman sekaisin. Jotkut eivät ole monialustaisia, joten ne toimivat vain yhdessä tietyssä käyttöjärjestelmässä. Toiset ovat teknisesti monialustaisia, mutta niiden levittäminen vaatii paljon työtä. Ja silti muiden kanssa työskentely on vain tuskaa, kuten JavaFX.

Jetpack Compose for Desktop puolestaan ​​on suhteellisen helppokäyttöinen, tukee näytön skaalausta, siinä on sisäänrakennettu tyyli ja se on (melkein) täysin monikäyttöinen. Vaikka et voi vielä kääntää kaikille jakeluille yhdestä käyttöjärjestelmästä, itse koodi on täysin kannettava. Aivan kuten Androidissa, pakattu sovellus perustuu Javaan, vaikka käyttäjien ei tarvitsekaan asennettua JDK: ta käyttääkseen sitä.

Ristiyhteensopivuus

Koska Compose for Desktop on vielä uusi, siitä puuttuu joitain ominaisuuksia. Jotta kehittäjät voivat kiertää nämä rajoitukset, Compose for Desktop on yhteentoimiva kahden suositumman Java-asettelumoottorin, JavaFX: n ja Swingin, kanssa. Jos sinulla on työpöytäsovellus, joka on kehitetty yhdessä (tai molemmissa) näistä moottoreista, voit aloittaa siirtymisen Composeen säilyttäen samalla nykyisen koodikannan.

Android + työpöytä

Entä jos haluat tuoda Compose Android -sovelluksesi työpöydälle? No, voit myös (tavalla tavalla) tehdä sen. Sovelluksesi käyttöliittymäelementit voidaan helposti jakaa Androidin ja työpöydän välillä. Kaikkea ei voi jakaa, mutta se varmasti helpottaa kehitystä.

Apple Silicon -tuki

Mainitsin tämän edellä, mutta mainitsen sen uudelleen. The uudet Apple Silicon Macit ovat melko uskomattomia, mutta prosessorit perustuvat ARM CPU -arkkitehtuuriin, mikä tarkoittaa, että monet macOS-sovellukset ovat tällä hetkellä käynnissä Rosetta 2 x86 -kääntäjän kautta. Vaikka Apple teki melko hyvää työtä tuon käännöksen kanssa, alkuperäiset ARM-ohjelmat toimivat silti paremmin.

Jetpack Compose for Desktop tukee Apple Siliconia alkuperäisesti. Tämä tarkoittaa, että sinun ei tarvitse huolehtia käännösten suorituskyvyn heikkenemisestä tai tulevasta tuesta, kun Apple lopettaa sen.

Toiminnallisuus

Joten on hyvä, että JetBrains teki uuden asettelumoottorin pöytäkoneille, mutta kuka sanoisi, että se on parempi kuin nyt?

Minä.

Käytin viimeisintä saatavilla olevaa koontiversiota tätä kirjoittaessani (0.2.0-build132) tehdäkseni yksinkertaisen käyttöoikeuksien myöntäjäsovelluksen SystemUI Tunerille. Koska en ole niin perehtynyt Composeen ja deklaratiiviseen suunnitteluun, se oli minulle hieman vaikeampaa kuin XML-asettelusovellus, mutta tein sen. Ja se on paljon helpompi käyttää kuin JavaFX.

Vaikka teematuki (eli tumma tila) on vielä hieman epäselvä, interaktiivisen asettelun rakentaminen on melko helppoa, ja lukuun ottamatta muutamaa välkkymistä ikkunan kokoa muutettaessa, kaikki toimii hyvin.

Jos haluat tarkistaa sovelluksen, lähdekoodi on saatavilla osoitteessa GitHub. Tuo se vain IntelliJ: llä tai Android Studiolla, ja sen pitäisi olla valmis käytettäväksi.


Henkilökohtaisesti olen melko innoissani Jetpack Compose for Desktopista. En edes tiennyt sen olemassaolosta aiemmin, mutta se on jo valitsemani työpöydän asettelumoottori. Voit oppia lisää aiheesta Jetpack Compose for Desktop -sivusto tai GitHubissa.

Mitä mieltä olet siitä? Kannattaako tarkistaa ja ehkä jopa käyttää muiden saatavilla olevien kehysten sijaan? Kerro minulle!

Suositellut kuvien tekijät: JetBrains GitHubissa