Jetpack Compose for Desktop pievieno Swing slāni un Apple Silicon atbalstu

JetBrains ir izlaidusi jaunu Jetpack Compose for Desktop versiju — atvērtā koda starpplatformu lietotāja saskarnes izstrādes ietvaru.

Ja veicat jebkāda veida izstrādes darbu, droši vien esat dzirdējuši par JetBrains. Tas ir uzņēmums, kas veido milzīgo IDE komplektu, kurā ietilpst IntelliJ (Android Studio bāze), CLion, PhpStorm un daudzi citi. Viņi arī ir radījuši Kotlins, ļoti populārā starpplatformu programmēšanas valoda.

Un JetBrains atkal pie tā ir atgriezies. Nedaudz vairāk nekā pirms gada Google ieviesa jaunu Android izkārtojuma dzinēju ar nosaukumu Jetpack Compose. Tas ir izgājis cauri kopš tā laika ir notikušas vairākas būtiskas izmaiņas, taču tas ir kļuvis par kompetentu (lai gan joprojām nedaudz nestabilu) alternatīvu Android klasiskajiem XML izkārtojumiem.

Kāds Jetpack Compose sakars ar JetBrains? Nu, piemēram, tas ir rakstīts Kotlinā. Taču arī JetBrains ir klusi strādājis pie Compose pārnešanas uz darbvirsmas vietu. Tas ir bijis publisks kā agrīns izstrādātāja priekšskatījums, un tagad JetBrains ir gatavs oficiāli paziņot, ka tas pastāv.

Kas ir Jetpack Compose?

Es par to mazliet runāju ievadā, bet es domāju, ka tas ir pelnījis plašāku skaidrojumu. Ja iepriekš esat izstrādājis operētājsistēmu Android, iespējams, esat pieradis, kā darbojas izkārtojumi. Pirmkārt, jūs izstrādājat savu izkārtojumu XML failā un pēc tam mijiedarbojaties ar šo izkārtojumu no Java vai Kotlin. Lai gan tas ir funkcionāls, tas ir nedaudz novecojis, un var būt grūti pārvaldīt izkārtojumus dažādās valodās.

Kā alternatīvu tam Google sāka izstrādāt Jetpack Compose. Compose ir izkārtojuma dzinējs operētājsistēmai Android, kas izveidots uz Kotlin. Viss jūsu izkārtojums un loģiskais kods ir vienuviet, kas ievērojami atvieglo interaktivitāti. Tas ir arī deklaratīvs, nevis obligātais XML izkārtojuma stils.

Pārejot uz deklaratīvo izkārtojuma programmu no obligātas, var būt nepieciešama pierašana, taču Compose noteikti ir uzlabojums salīdzinājumā ar XML, lai gan tas joprojām ir sākuma stadijā.

Jetpack Compose darbvirsmai

Tātad, Compose ir jauka izkārtojuma alternatīva vietējām Android lietotnēm. Bet tas nav (parasti) starpplatformu. Šeit parādās JetBrains. Uzņēmums ir pārnesis Jetpack Compose uz darbvirsmas vietu, nodrošinot atbalstu operētājsistēmām Windows, Linux un macOS (gan Intel, gan ARM).

Lai gan ir arī citi galddatoriem paredzēti izkārtojuma dzinēji, piemēram, Electron, JavaFX un UWP, šobrīd tas ir neliels haoss. Daži no tiem nav vairāku platformu, tāpēc tie darbojas tikai vienā noteiktā operētājsistēmā. Citi ir tehniski vairāku platformu, taču to izplatīšanai ir nepieciešams daudz darba. Un tomēr ar citiem ir tikai sāpīgi strādāt, piemēram, JavaFX.

No otras puses, Jetpack Compose for Desktop ir salīdzinoši viegli lietojams, atbalsta displeja mērogošanu, tajā ir iebūvēts stils un tas (gandrīz) pilnībā ir vairāku platformu. Lai gan jūs vēl nevarat kompilēt visiem izplatīšanas veidiem no vienas operētājsistēmas, pats kods ir pilnībā pārnēsājams. Tāpat kā ar Android, iepakotās lietotnes pamatā ir Java, lai gan lietotājiem nav nepieciešams instalēt JDK, lai to izmantotu.

Savstarpēja saderība

Tā kā Compose for Desktop joprojām ir jauns, tajā trūkst dažu funkciju. Lai palīdzētu izstrādātājiem apiet šos ierobežojumus, Compose for Desktop ir savietojama ar diviem populārākajiem Java izkārtojuma dzinējiem, JavaFX un Swing. Ja jums ir darbvirsmas lietotne, kas izstrādāta vienā (vai abās) no šīm programmām, varat sākt pāreju uz Compose, vienlaikus saglabājot savu pašreizējo kodu bāzi.

Android + darbvirsma

Ko darīt, ja vēlaties savu Android lietotni Rakstīt darbvirsmā? Nu, jūs varat arī (kaut kā) to izdarīt. Jūsu lietotnes lietotāja interfeisa elementus var viegli koplietot starp Android un darbvirsmu. Jūs nevarēsit dalīties ar visu, bet tas noteikti atvieglo attīstību.

Apple Silicon atbalsts

Es to minēju iepriekš, bet es to pieminēšu vēlreiz. The jauni Apple Silicon Mac datori ir diezgan pārsteidzoši, taču procesori ir balstīti uz ARM CPU arhitektūru, kas nozīmē, ka daudzas MacOS lietotnes pašlaik darbojas, izmantojot Rosetta 2 x86 tulkotāju. Lai gan Apple ar šo tulkojumu paveica diezgan labu darbu, vietējās ARM programmas joprojām darbosies labāk.

Jetpack Compose for Desktop atbalsta Apple Silicon sākotnēji. Tas nozīmē, ka jums nebūs jāuztraucas par veiktspējas samazināšanos tulkošanas rezultātā vai par turpmāku atbalstu, kad Apple pārtrauks to.

Funkcionalitāte

Tas viss ir labi, ka JetBrains izveidoja jaunu izkārtojuma programmu galddatoriem, taču kurš gan varētu teikt, ka tas ir labāks par to, kas mums ir tagad?

Es.

Es izmantoju jaunāko pieejamo versiju rakstīšanas brīdī (0.2.0-build132), lai izveidotu vienkāršu atļauju piešķiršanas programmu SystemUI Tuner. Tā kā es neesmu tik labi pazīstams ar Compose un deklaratīvo dizainu, man tas bija nedaudz grūtāk nekā XML izkārtojuma lietotne, bet es to izdarīju. Un to ir daudz vieglāk lietot nekā JavaFX.

Lai gan motīvu atbalsts (t.i., tumšais režīms) joprojām ir nedaudz neefektīvs, ir diezgan viegli izveidot interaktīvu izkārtojumu, un, ja neskaita dažas mirgošanas, mainot loga izmērus, viss darbojas labi.

Ja vēlaties pārbaudīt lietotni, avota kods ir pieejams vietnē GitHub. Vienkārši importējiet to, izmantojot IntelliJ vai Android Studio, un tam vajadzētu būt gatavam darbam.


Personīgi es esmu diezgan sajūsmā par Jetpack Compose for Desktop. Es pat nezināju, ka tas pastāv, bet tas jau ir mans izvēlētais darbvirsmas izkārtojuma dzinējs. Jūs varat uzzināt vairāk par Jetpack Compose darbvirsmas vietnei vai vietnē GitHub.

Ko jūs domājat par to? Vai ir vērts pārbaudīt un varbūt pat izmantot citu pieejamo ietvaru vietā? Paziņojiet man!

Piedāvāto attēlu kredīti: JetBrains vietnē GitHub