Jetpack Compose, Googlen uusi käyttöliittymätyökalusarja Androidille, on nyt alfaversiossa

Jetpack Compose, Googlen käyttöliittymätyökalusarja Android-sovellusten kehittämiseen, on nyt alfaversiossa. Se on täysin yhteentoimiva Androidin vakionäkymien kanssa.

Sovelluksen kehittämisessä on monia tapoja tehdä se. Voit valita, mihin alusta(t) kehität, mitä ohjelmointikieliä haluat käyttää ja paljon muuta.

Syksyllä 2019 Google otettu käyttöön uusi kehys käyttöliittymän rakentamiseen Androidissa Kotlinin avulla. Tähän asti se on ollut kehitysvaiheessa, ja siinä on usein tehty murtuvia muutoksia ja paljon puuttuvia ominaisuuksia. Mutta tänään Google on siirtänyt Jetpack Composen alfajulkaisutilaan, mikä tarkoittaa, että se on askeleen lähempänä käyttöä tuotantolaadukkaissa projekteissa.

Mikä on Jetpack Compose?

Kun rakennat Android-sovellusta, sinun on yleensä käsiteltävä kaksi pääkomponenttia: koodi logiikkaan perustuville asioille; ja XML asetteluille. Oletusarvoisesti Android käyttää Javaa koodiin ja omaa XML-tunnisteiden joukkoa asetteluihin.

Monille Java ja XML sopivat hyvin, etenkin yksinkertaisemmille sovelluksille. Mutta molemmilla järjestelmillä on rajoituksensa ja ärsytyksensä. Kun Kotlin esiteltiin

virallinen (ja suositeltava) kieli Android-kehitykseen, Android-sovelluksen tekemisen koodauspuoli on luultavasti paljon helpompaa. Kotlinin kätevien ominaisuuksien, kuten sisäänrakennetun nollasuojauksen ja laajennustoimintojen, ansiosta koodi näyttää selkeämmältä ja on helpompi lukea.

Mutta Kotlin ei muuttanut mitään Androidin asetteluilla. Monimutkaisen asettelun tekemiseksi sinun on silti luotava XML-tiedosto ja suunniteltava se sinne. Tällä on joitain huomattavia haittoja, mukaan lukien koodin ja XML: n luontainen erottelu. Jos sinulla on esimerkiksi vakiomerkkijono koodissasi, et voi vain viitata siihen XML: stä, joten jos merkkijono muuttuu koodissa, sinun on muistettava päivittää se myös XML-muotoon.

Kirjoita Jetpack Compose. Tämä on Googlen vastaus Androidin yhä kömpelömpään XML-asettelusuunnitteluprosessiin. Sen sijaan, että suunnittelet sovelluksesi käyttöliittymän XML-muodossa, voit tehdä sen suoraan koodistasi. Vaikka koodipohjaisia ​​asetteluja on mahdollista luoda, ne ovat yleensä vähemmän ylläpidettäviä kuin XML ja sisältävät helposti rikkoutuvia kirjastoja. Compose puolestaan ​​on suunniteltu toimimaan suoraan Kotlinin sisällä: ei enää XML: ää.

Jetpack Compose on myös melko radikaali poikkeama XML-asettelujen vakiomuotoilusta. Sen sijaan se muistuttaa enemmän Reactia tai Flutteria, ja siinä on deklaratiiviset asettelut, jotka päivittyvät tietojen muuttuessa sen sijaan, että luottaisivat kehittäjään tämän logiikan toteuttamisessa.

Mitä tuetaan

Joten Jetpack Compose on nyt alfassa. Mitä tuo tarkoittaa? No, paljon asioita.

Yhteentoimivuus Viewsin kanssa

Aivan kuten Kotlin on täysin yhteentoimiva Javan kanssa, Jetpack Compose on täysin yhteentoimiva Androidin vakionäkymien kanssa. Tämä tarkoittaa melko monia asioita.

Ensinnäkin on paljon helpompaa siirtyä Jetpack Composeen, jos haluat. Sen sijaan, että joutuisit muuttamaan kaikki mukautetut näkymätsi ja asettelusi Composables-muotoon, voit vain luoda uusia asetteluja ja komponentteja Composessa. Onko sinulla kirjasto, joka käyttää "vanhoja" näkymiä, mutta sovelluksesi on suunniteltu Compose-sovelluksella? Ei ongelmaa. Voit lisätä näkymän suoraan Composable-toimintoosi. Et ole vielä siirtynyt Composeen, mutta haluat käyttää Composablesiin perustuvaa kirjastoa? Jälleen, ei ongelmaa. Aseta vain Composable suoraan asetteluun.

Mitä tulee teemoihin, se ei ole niin plug-and-play kuin ulkoasun yhteentoimivuus. Kuitenkin, Google on tehnyt kirjaston mukauttaa vakio-XML-teemasi Compose-yhteensopiviksi teemoiksi, mikä auttaa pitämään asiat keskitetysti ja välttämään päällekkäisyyksiä.

Animaatiot

Tässä ei ole oikeastaan ​​liikaa sanottavaa, paitsi että Jetpack Compose tukee animaatioita, aivan kuten Androidin View-kehys. Voit siirtää, muuttaa kokoa ja kiertää sydämesi kyllyydestä.

Laiskoja listoja

Laiska lista on pohjimmiltaan Composen RecyclerView-versio. Se asettaa kohteet vain tarpeen mukaan, mikä säästää RAM-muistia ja lisää suorituskykyä. Koska tämä on Compose, luettelot ovat tietysti huomattavasti yksinkertaisempia toteuttaa.

ConstraintLayout

Yksi Androidin tehokkaimmista näkymistä on ConstraintLayout. Tämän avulla voit sijoittaa, koon ja painon lapsinäkymät suhteessa toisiinsa ja samalla helpottaa tiettyjä animaatioita. Jos olit huolissasi tämän toiminnon menettämisestä Composessa, sinun ei pitäisi olla, koska se on myös täällä.

Materiaali käyttöliittymän komponentit

Toinen joukko tehokkaita näkymiä on Googlen Material Components -kirjasto. Suurin osa tämän sisällöstä on vakionäkymiä ja asetteluja, jotka löytyvät alkuperäisestä View-kehyksestä. Mutta niitä on muokattu tai kääritty lisäämään toimintoja ja helpottamaan teemoja, ja ne ovat myös päässeet säveltämiseen.

Testaus

Tärkeä osa sovelluksen kehittämistä on sen testaus. Yksinkertaisessa sovelluksessa voit tehdä tämän manuaalisesti asentamalla ja käyttämällä sitä. Monimutkaisemmat projektit voivat kuitenkin hyötyä suuresti automatisoiduista testauskehyksistä, jotka tekevät suurimman osan kovasta työstä puolestasi. Jetpack Compose tukee automaattista testausta, jotta voit tehdä sovelluksestasi mahdollisimman vakaan.

Esteettömyysominaisuudet

Esteettömyys on tärkeä osa yhteiskuntaamme. Ilman teknologiamme esteettömyysominaisuuksia monet ihmiset jäisivät puhelimiemme, televisioiden ja muiden tarjoamien etujen ulkopuolelle. Jetpack Compose on vielä alfa-vaiheessa, joten esteettömyystuki ei ole täydellinen, mutta Google pitää sen mielessä kehitystyön aikana, ja alkeellista tukea on jo olemassa.

Android Studio

Kaikki Jetpack Composen ominaisuudet eivät kuitenkaan ole itse Jetpack Composessa. Android Studiossa ja Kotlinissa on myös laajennuksia ja laajennuksia säveltämisen helpottamiseksi.

Kotlin Compiler Plugin

Kuten Kotlin JVM: ssä, Android Studiossa on kääntäjälaajennus, joka muuntaa Compose-toiminnot oikein koodiksi, jota Android voi todella ymmärtää ja seurata.

Interaktiiviset esikatselut

Aivan kuten tavallisissa XML-asetteluissasi, Android Studiossa on Jetpack Composen asettelun esikatselu. Vaikka se ei ole tällä hetkellä aivan yhtä kätevää kuin XML-esikatselu joissakin näkökohdissa, sinun on rakennettava projektisi esikatselu päivitykseen ja erillisen esikatselutoiminnon luomiseen – sillä on yksi huomattava etu: interaktiivinen esikatselut.

Interaktiivinen esikatselu on vain tavallinen esikatselu, mutta interaktiivinen. Hullua, tiedän. Tämä tarkoittaa kuitenkin sitä, että voit itse kirjoittaa tekstiä tekstiruutuihin, napsauttaa painikkeita ja olla vuorovaikutuksessa Composables kanssa ilman, että sinun tarvitsee edes ottaa niitä käyttöön.

Yksi komposoitava käyttöönotto

Jos haluat todella ottaa käyttöön (eli asentaa) asettelusi nähdäksesi, kuinka se toimii todellisessa laitteessa, tämä ominaisuus saattaa auttaa sinua. Tavallisissa XML-asetteluissa sinun on rakennettava ja asennettava koko sovellus, jotta voit nähdä, kuinka asettelu toimii todellisessa maailmassa. Jos asettelu, jota haluat testata, ei ole ensisijaisella näytöllä, saatat joutua napauttamaan paljon päästäksesi siihen.

Ja siellä kyky ottaa käyttöön vain yksi Composable tulee peliin. Sen sijaan, että sinun tarvitsee rakentaa ja asentaa sovellus ja sitten siirtyä testattavaan asetteluun, voit ottaa asettelun käyttöön. Android Studio luo ja avaa kääretoiminnon, joka näyttää vain käyttöön ottamasi Composablen. Tämä voi nopeuttaa testausta ja suunnittelua huomattavasti ja jopa auttaa eristämään elementtien vuorovaikutukseen liittyviä ongelmia.

Koodin täydennys

Jos IDE: ssäsi ei ole koodin täydennystä, onko se edes IDE? Ei, ei ole. Joten tietysti Android Studio tukee Jetpack Composen täydellistä koodin viimeistelyä.


Vaikka tämä ei ole kaikki, mitä Jetpack Compose tuo pöytään, yllä olevat ominaisuudet ja toiminta osoittavat, kuinka tehokkaan Google haluaa tämän kehyksen olevan. Ja vaikka se on vielä alfa-vaiheessa, se on askeleen edellä sen aikaisempaa "kehitystilaa". Jos viivyttelit Jetpack Composen käyttöä (kuten minä), nyt saattaa olla aika kokeilla sitä uudelleen.