Jetpack Compose, Googlov novi komplet orodij uporabniškega vmesnika za Android, je zdaj v različici alfa

Jetpack Compose, Googlov komplet orodij uporabniškega vmesnika za razvoj aplikacij za Android, je zdaj v alfa različici. Je popolnoma interoperabilen s standardnimi pogledi Androida.

Ko gre za razvoj aplikacije, obstaja veliko načinov za to. Izberete lahko, za katero(-e) platformo(-e) se želite razvijati, kateri(-e) programski jezik(-e) želite uporabljati in še veliko več.

Jeseni 2019 je Google predstavljen novo ogrodje za izdelavo uporabniških vmesnikov v Androidu z uporabo Kotlina. Do zdaj je bil v razvojnem stanju, s pogostimi pokvarjenimi spremembami in množico manjkajočih funkcij. Toda danes je Google potisnil Jetpack Compose v stanje izdaje alfa, kar pomeni, da je korak bližje uporabi v projektih produkcijske kakovosti.

Kaj je Jetpack Compose?

Pri izdelavi aplikacije za Android se morate navadno ukvarjati z dvema glavnima komponentama: kodo za stvari, ki temeljijo na logiki; in XML za postavitve. Android privzeto uporablja Javo za kodo in lasten niz oznak XML za postavitve.

Za mnoge sta Java in XML v redu, zlasti za enostavnejše aplikacije. Toda oba sistema imata svoje omejitve in motnje. Z uvedbo Kotlina kot

uradni (in priporočenega) jezika za razvoj Androida, je stran kodiranja izdelave aplikacije za Android verjetno postala veliko lažja. S priročnimi funkcijami Kotlina, kot je vgrajena ničelna zaščita in razširitvene funkcije, je koda videti čistejša in lažja za branje.

Toda Kotlin s postavitvami Androida ni spremenil ničesar. Če želite narediti zapleteno postavitev, ste še vedno morali ustvariti datoteko XML in jo tam oblikovati. To ima nekaj pomembnih pomanjkljivosti, vključno z inherentno ločitvijo med kodo in XML. Če imate na primer v kodi konstanten niz, se nanj ne morete sklicevati samo iz XML-ja, tako da če se ta niz spremeni v kodi, se morate spomniti, da ga posodobite tudi v XML-ju.

Vnesite Jetpack Compose. To je Googlov odgovor na vse bolj okoren proces načrtovanja postavitve XML v Androidu. Namesto oblikovanja uporabniškega vmesnika vaše aplikacije v XML-ju, lahko to naredite neposredno iz kode. Čeprav je mogoče ustvariti postavitve, ki temeljijo na kodi, jih je običajno težje vzdrževati kot XML in vključujejo knjižnice, ki jih je enostavno zlomiti. Po drugi strani pa je Compose zasnovan tako, da deluje neposredno znotraj Kotlina: nič več XML.

Jetpack Compose je tudi precej radikalen odmik od standardnega imperativnega oblikovanja postavitev XML. Namesto tega je bolj podoben Reactu ali Flutterju, z deklarativnimi postavitvami, ki se same posodabljajo, ko se podatki spremenijo, namesto da bi se zanašali na razvijalca, da implementira to logiko.

Kaj je podprto

Tako je Jetpack Compose zdaj v alfa različici. Kaj to pomeni? No, veliko stvari.

Interoperabilnost s pogledi

Tako kot je Kotlin popolnoma interoperabilen z Javo, je Jetpack Compose popolnoma interoperabilen s standardnimi pogledi Androida. To pomeni kar nekaj stvari.

Prvič, če želite, se boste veliko lažje preselili na Jetpack Compose. Namesto da bi morali pretvoriti vse svoje poglede in postavitve po meri v sestavljive elemente, boste lahko samo naredili svoje nove postavitve in komponente v aplikaciji Compose. Imate knjižnico, ki uporablja "podedovane" poglede, vaša aplikacija pa je zasnovana s funkcijo Compose? Brez težav. Pogled lahko dodate naravnost v funkcijo Composable. Še niste skočili na Compose, vendar želite uporabiti knjižnico, ki temelji na Composables? Še enkrat, ni problema. Samo vstavite Composable naravnost v vašo postavitev.

Kar zadeva tematizacijo, ni ravno tako plug-and-play kot interoperabilnost postavitve. vendar Google je naredil knjižnico da prilagodite svoje standardne teme XML v teme, ki so združljive s Compose, kar pomaga ohranjati stvari centralizirano in se izogniti podvajanju.

Animacije

Tukaj res ni preveč za povedati, razen da Jetpack Compose podpira animacije, tako kot Androidovo ogrodje View. Lahko premikate, spreminjate velikost in vrtite po želji.

Leni seznami

Leni seznam je v bistvu Composejeva različica RecyclerView. Elemente postavi samo po potrebi, s čimer prihrani RAM in poveča zmogljivost. Ker je to Compose, so seznami bistveno enostavnejši za implementacijo.

ConstraintLayout

Eden zmogljivejših pogledov v sistemu Android je ConstraintLayout. To vam omogoča pozicioniranje, velikost in težo podrejenih pogledov drug glede na drugega, hkrati pa olajša nekatere animacije. Če vas je skrbelo, da boste izgubili to funkcijo v Compose, vas ne bi smelo biti, saj je tudi tukaj.

Materialne komponente uporabniškega vmesnika

Drug niz zmogljivih pogledov je Googlova knjižnica Material Components. Večina tega, kar je tukaj, so standardni pogledi in postavitve, ki jih najdete v izvornem ogrodju pogleda. Vendar so prilagojeni ali zaviti, da zagotovijo dodatno funkcionalnost in olajšajo tematiziranje, prav tako pa so prišli tudi do Compose.

Testiranje

Pomemben del razvoja aplikacije je njeno testiranje. Za preprosto aplikacijo lahko to storite ročno, tako da jo namestite in uporabite. Vendar pa lahko bolj zapleteni projekti veliko pridobijo z avtomatiziranimi ogrodji za testiranje, ki namesto vas opravijo večino trdega dela. Jetpack Compose podpira samodejno testiranje, tako da lahko naredite svojo aplikacijo čim bolj stabilno.

Funkcije dostopnosti

Dostopnost je pomemben del naše družbe. Brez funkcij dostopnosti v naši tehnologiji bi bilo veliko ljudi preprosto izključenih iz prednosti, ki jih ponujajo naši telefoni, televizorji in karkoli drugega. Jetpack Compose je še vedno v različici alfa, zato podpora za dostopnost ni popolna, vendar Google to upošteva med razvojem in osnovna podpora je že prisotna.

Android Studio

Vse funkcije Jetpack Compose pa niso v samem Jetpack Compose. Android Studio in Kotlin imata tudi vtičnike in razširitve za lažje sestavljanje.

Vtičnik za prevajalnik Kotlin

Tako kot pri Kotlin JVM je tudi v Android Studiu na voljo vtičnik prevajalnika za pravilno pretvorbo vaših funkcij Compose v kodo, ki jo lahko Android dejansko razume in ji sledi.

Interaktivni predogledi

Tako kot pri vaših standardnih postavitvah XML je tudi Android Studio opremljen s predogledom postavitve za Jetpack Compose. Čeprav v nekaterih pogledih trenutno ni tako priročen kot predogledi XML – svoj projekt morate sestaviti za predogled posodobiti in narediti namensko funkcijo predogleda – ima eno pomembno prednost: interaktivnost predogledi.

Interaktivni predogled je le običajen predogled, vendar interaktivni. Noro, vem. To pa pomeni, da lahko dejansko vnašate besedilo v besedilna polja, klikate gumbe in, no, komunicirate s svojimi Composables, ne da bi jih sploh morali namestiti.

Ena sestavljiva uvedba

Če želite dejansko uvesti (tj. namestiti) svojo postavitev, da vidite, kako deluje na resnični napravi, vam bo ta funkcija morda v pomoč. Če želite videti, kako postavitev deluje v resničnem svetu, morate pri običajnih postavitvah XML zgraditi in namestiti celotno aplikacijo. Če postavitev, ki jo želite preizkusiti, ni na primarnem zaslonu, se morda veliko dotikate, da pridete do nje.

In tu pride v poštev zmožnost uvajanja samo enega Composable-a. Namesto da bi morali izdelati in namestiti svojo aplikacijo ter se nato pomakniti do postavitve, ki jo preizkušate, lahko preprosto uvedete postavitev. Android Studio bo ustvaril in odprl dejavnost ovoja, ki samo prikaže Composable, ki ste ga uvedli. To lahko veliko pospeši testiranje in načrtovanje ter lahko celo pomaga izolirati težave, povezane z interakcijo elementov.

Dokončanje kode

Če vaš IDE nima dokončanja kode, ali je sploh IDE? Ne. Ne, ni. Torej, seveda, Android Studio podpira popolno dokončanje kode za Jetpack Compose.


Čeprav to ni vse, kar Jetpack Compose prinaša na mizo, zgornje funkcije in vedenje prikazujejo, kako zmogljiv Google želi imeti to ogrodje. In čeprav je še vedno v alfi, je to korak pred njegovim prejšnjim statusom "razvoja". Če ste odlašali z resnično uporabo Jetpack Compose (kot sem bil jaz), je zdaj morda čas, da poskusite še enkrat.