Google je izdal Jetpack Compose v različici Beta, deklarativni motor podjetja UI, napisan v Kotlinu, namenjen poenostavitvi razvoja UI.
Evo nas spet. O Jetpack Compose, Googlovem novem mehanizmu uporabniškega vmesnika, sem pisal že takrat, ko je bil predstavljen alfa, in spet, ko JetBrains prenesel na namizne platforme. Danes je tu beta izdaja Jetpack Compose.
V primeru, da niste seznanjeni z vsemi obstoječimi novimi tehnologijami uporabniškega vmesnika (ne zamerim vam) in ne želite če želite prebrati te druge članke (zdaj vas krivim), je tukaj kratek opis, za kaj gre. Jetpack Compose je deklarativni motor uporabniškega vmesnika, napisan v Kotlinu, katerega cilj je nadomestiti (ali vsaj biti izvedljiva alternativa za) klasične imperativne motorje uporabniškega vmesnika, kot so postavitve XML za Android. Ne bom se spuščal v razliko med deklarativnimi in imperativnimi postavitvami, zato recimo samo, da je Jetpack Compose zmogljiv mehanizem postavitve samo s kodo, ki lahko zelo olajša implementacijo uporabniškega vmesnika.
Kaj točno pomeni beta izdaja za Compose? No, pa poglejmo.
API
Vsak dober okvir potrebuje API (po definiciji). Na stopnjah pred alfa in alfa je Google trdo delal, da bi razvil API za Compose, da bi bil čim bolj intuitiven in uporaben. In tako kot vsak dober projekt je bil tudi ta deležen številnih revizij. Uporaba Compose v teh fazah bi lahko bila težavna, saj bi lahko API-je odstranili ali preimenovali brez posebnega opozorila.
Zdaj, ko smo v fazi beta, je Google prepričan, da je API dokončan in stabilen. To pomeni, da ni več (drastičnih) odstranitev ali sprememb, tako da lahko porabite več časa za dejansko izdelavo svoje aplikacije kot za spremljanje sprememb API-ja.
Seveda stabilen API ne pomeni nespremenljivega. Google bo še vedno dodajal funkcije in spreminjal stvari, vendar bodo zdaj na voljo ustrezna obvestila o zastaranju in cikli zamenjave.
Podpora za Coroutine
Ne pozabite, ko Google opustil AsyncTask v Androidu in so bili vsi zaskrbljeni, nato pa na to popolnoma pozabili? Za to se lahko verjetno zahvalite Kotlinovemu ogrodju korutin. V svoji najbolj osnovni obliki je nadomestek za AsyncTask, vendar je tudi veliko zmogljivejši, veliko bolj prilagodljiv in veliko bolj medplatformski.
Medtem ko ima Jetpack Compose nekako podpiral uporabo korutin, je bil večinoma kot plast interoperabilnosti. Z različico beta pa so korutine vgrajene v Compose, tako da lahko znova pravilno uporabljate svoje asinhrone klice.
Animacije
Animacije so lahko precej moteče pri izdelavi v Androidu in nekaj časa so bile tudi v Compose. V različici beta pa Google obljublja "enostaven za uporabo" API za animacije, ki olajša stvari. Prav tako so posodobili Android Studio, da vključuje podporo za predogled teh animacij, tako da vam ni treba namestiti svoje aplikacije, da jih preizkusite.
Postavitve
Android Studio ima nekaj precej čednih orodij za ravnanje s postavitvami. Ena je predogled postavitve, ki vam omogoča, da vidite približno, kako bo vaša postavitev videti v napravi, in drugi je inšpektor postavitve, ki vam omogoča, da natančno vidite, kaj se dogaja s postavitvijo vaše aplikacije, ko je na napravo.
Pred tem je predogled postavitve deloval s postavitvami Compose, vendar ste morali znova sestaviti aplikacijo vsakič, ko ste kaj spremenili, da se je predogled posodobil. Zdaj, ko smo v različici beta, pa je Android Studio posodobljen tako, da vključuje predoglede vaše kode Compose v živo.
Tudi pred tem inšpektor postavitev v bistvu ni deloval s postavitvami Compose. Prikazal bi posnetek zaslona aplikacije, vendar ni mogel dejansko ekstrahirati in prikazati žične strukture vseh komponent postavitve. Tako kot pri predogledu postavitve je bil tudi Android Studio posodobljen z novim inšpektorjem postavitve, ki podpira postavitve Compose.
Talkback
Zdaj pa se pogovorimo o dostopnosti, izjemno pomembni funkciji, ki je na žalost običajno pozabljena. Na srečo Google ni pozabil, čeprav bi lahko prišel prej: Sestavi postavitve zdaj podpira Talkback, napredni bralnik zaslona v sistemu Android, ki vam bere vsebino in vam omogoča interakcijo z zaslonom s preprostimi potezami.
Čeprav je to zaenkrat edina pomembna funkcija dostopnosti, je Google obljubil, da bodo stabilne funkcije dodane še druge funkcije dostopnosti. Bolje pozno kot nikoli, mislim, in upajmo, da bodo te funkcije tesneje integrirane s Compose, kot so bile z XML.
In to je skoraj vse.
Če želite začeti uporabljati Jetpack Compose, je zdaj pravi čas. Imate API s popolnimi funkcijami, s katerim se lahko igrate in se učite, ter veliko vadnic neposredno iz Googla. Preveri Googlovo spletno mesto za razvijalce za več informacij o posodobitvah in kako uporabljati Compose.
In seveda nam povejte, kaj menite o spremembah v različici beta ali o vašem mnenju o Compose na splošno.