Jetpack Compose for Desktop lisab Swingi kihi ja Apple Siliconi toe

click fraud protection

JetBrains on välja andnud avatud lähtekoodiga platvormidevahelise kasutajaliidese arendusraamistiku Jetpack Compose for Desktop uue versiooni.

Kui teete mingit arendustööd, olete ilmselt JetBrainsist kuulnud. Nad on tohutu IDE-de komplekti taga asuv ettevõte, mis sisaldab IntelliJ-d (Android Studio alus), CLioni, PhpStormi ja paljusid teisi. Nemad on ka need, kes tegid Kotlin, ülipopulaarne platvormideülene programmeerimiskeel.

Ja JetBrains on selle juures jälle tagasi. Veidi enam kui aasta tagasi tutvustas Google Androidi jaoks uut paigutusmootorit Jetpack Compose. See on läbi käinud sellest ajast saadik on tehtud mitmeid olulisi muudatusi, kuid sellest on saanud pädev (ehkki siiski mõnevõrra ebastabiilne) alternatiiv Androidi klassikalistele XML-paigutustele.

Mida on Jetpack Compose'il pistmist JetBrainsiga? No näiteks on see Kotlini keeles kirjas. Kuid ka JetBrains on vaikselt töötanud Compose'i töölauaruumi teisaldamise kallal. See on olnud avalik arendaja eelvaatena ja nüüd on JetBrains valmis selle olemasolust ametlikult teatama.

Mis on Jetpack Compose?

Rääkisin sellest natuke sissejuhatuses, kuid arvan, et see väärib rohkem selgitust. Kui olete varem Androidis arendanud, olete ilmselt harjunud, kuidas paigutused töötavad. Esiteks kujundate oma paigutuse XML-failis ja seejärel kasutate seda Java või Kotlini paigutust. Kuigi see on funktsionaalne, on see veidi aegunud ja paigutuste jagamist keelte vahel võib olla raske hallata.

Selle alternatiivina alustas Google Jetpack Compose'i arendamist. Compose on Androidi paigutusmootor, mis on ehitatud Kotlini peale. Kogu teie paigutus ja loogikakood on ühes kohas, mis muudab interaktiivsuse palju lihtsamaks. See on ka deklaratiivne XML-paigutuste imperatiivse stiili asemel.

Deklaratiivse paigutuse mootorile üleminek imperatiivilt võib võtta veidi harjumist, kuid koostamine on XML-iga võrreldes kindlasti edasiminek, kuigi see on alles algusjärgus.

Jetpack Compose töölauale

Seega on Compose Androidi algrakenduste jaoks kena paigutusalternatiiv. Kuid see ei ole (tavaliselt) platvormideülene. See on koht, kus JetBrains tuleb sisse. Ettevõte on teisaldanud Jetpack Compose'i töölauaruumi, toetades Windowsi, Linuxi ja macOS-i (nii Inteli kui ka ARM-i).

Kuigi lauaarvutite jaoks on olemas ka teisi paigutusmootoreid, nagu Electron, JavaFX ja UWP, on see praegu pisut jama. Mõned neist pole platvormidevahelised, seega töötavad need ainult ühes kindlas operatsioonisüsteemis. Teised on tehniliselt platvormidevahelised, kuid nõuavad levitamiseks palju tööd. Ja ikkagi, teistega on lihtsalt piin töötada, näiteks JavaFX-iga.

Jetpack Compose for Desktop on seevastu suhteliselt lihtne kasutada, toetab ekraani skaleerimist, sellel on sisseehitatud stiil ja see on (peaaegu) täielikult platvormideülene. Kuigi te ei saa veel ühest operatsioonisüsteemist kõigi distributsioonide jaoks kompileerida, on kood ise täiesti kaasaskantav. Nii nagu Androidi puhul, põhineb pakendatud rakendus Java-l, kuigi kasutajad ei vaja selle kasutamiseks JDK-d installitud.

Ristühilduvus

Kuna Compose for Desktop on veel uus, puuduvad sellel mõned funktsioonid. Et aidata arendajatel neid piiranguid vältida, on Compose for Desktop koostalitlusvõimeline kahe populaarsema Java paigutuse mootoriga, JavaFX ja Swing. Kui teil on ühes (või mõlemas) neist mootoritest välja töötatud töölauarakendus, võite alustada üleminekut koostamissüsteemile, säilitades samal ajal oma praeguse koodibaasi.

Android + töölaud

Mida teha, kui soovite oma Compose Androidi rakenduse töölauale tuua? Noh, saate ka (omamoodi) seda teha. Teie rakenduse kasutajaliidese elemente saab hõlpsasti Androidi ja töölaua vahel jagada. Sa ei saa kõike jagada, kuid see teeb arengu kindlasti lihtsamaks.

Apple Silicon tugi

Mainisin seda eespool, kuid mainin seda uuesti. The uued Apple Silicon Macid on päris hämmastavad, kuid protsessorid põhinevad ARM CPU arhitektuuril, mis tähendab, et paljud macOS-i rakendused töötavad praegu Rosetta 2 x86 tõlkija kaudu. Kuigi Apple tegi selle tõlkega päris head tööd, töötavad ARM-i algprogrammid siiski paremini.

Jetpack Compose for Desktop toetab Apple Siliconi algselt. See tähendab, et te ei pea muretsema tõlkimise või tulevase toe pärast, kui Apple selle katkestab.

Funktsionaalsus

Nii et see on hea, et JetBrains tegi lauaarvutite jaoks uue paigutusmootori, kuid kes võiks öelda, et see on parem kui see, mis meil praegu on?

Mina.

Kasutasin selle kirjutamise seisuga viimast saadaolevat järku (0.2.0-build132), et luua SystemUI Tuneri jaoks lihtne lubade andja rakendus. Kuna ma Compose'i ja deklaratiivse disainiga nii kursis ei ole, oli see minu jaoks pisut keerulisem kui XML-paigutuse rakendus, kuid sain hakkama. Ja seda on palju lihtsam kasutada kui JavaFX-i.

Kuigi teematugi (st tume režiim) on endiselt veidi nigel, on interaktiivse paigutuse loomine üsna lihtne ja peale mõne akna suuruse muutmisel tekkiva väreluse töötab kõik hästi.

Kui soovite rakendust kontrollida, on lähtekood saadaval aadressil GitHub. Lihtsalt importige see IntelliJ või Android Studio abil ja see peaks olema töövalmis.


Isiklikult olen Jetpack Compose for Desktopist üsna põnevil. Ma isegi ei teadnud selle olemasolust varem, kuid see on juba minu valitud töölaua paigutusmootor. Saate rohkem teada saada Jetpack Compose töölauale mõeldud veebisait või GitHubis.

Mis sa sellest arvad? Kas tasub uurida ja võib-olla isegi kasutada teiste saadaolevate raamistike asemel? Anna mulle teada!

Esiletõstetud piltide tiitrid: JetBrains GitHubis