A Jetpack Compose, a Google új Android-kezelőfelületi eszközkészlete már alfa verzióban van

A Jetpack Compose, a Google Android-alkalmazások fejlesztésére szolgáló felhasználói felületi eszközkészlete már alfa verzióban van. Teljes mértékben együttműködik az Android szabványos nézeteivel.

Amikor egy alkalmazás fejlesztéséről van szó, számos módszer létezik. Kiválaszthatja, hogy melyik platform(ok)ra kíván fejleszteni, melyik programozási nyelv(eke)t szeretné használni, és még sok minden mást.

Még 2019 őszén a Google bemutatott egy új keretrendszer a felhasználói felületek létrehozásához Androidban, a Kotlin használatával. Mostanáig fejlesztési állapotban volt, gyakori változtatásokkal és rengeteg hiányzó funkcióval. Ám ma a Google a Jetpack Compose-t alfa kiadási állapotba állította, ami azt jelenti, hogy egy lépéssel közelebb került ahhoz, hogy éles minőségű projektekben használják.

Mi az a Jetpack Compose?

Egy Android-alkalmazás készítésekor általában két fő összetevővel kell foglalkozni: a kóddal, a logikai alapú dolgokhoz; és az XML az elrendezésekhez. Alapértelmezés szerint az Android a Java kódot használja, az elrendezésekhez pedig saját XML-címkéket.

Sokak számára a Java és az XML megfelelő, különösen az egyszerűbb alkalmazásokhoz. De mindkét rendszernek megvannak a maga korlátai és bosszúságai. Kotlin, mint an hivatalos (és ajánlott) nyelv az Android fejlesztéséhez, az Android-alkalmazások kódolási oldala vitathatatlanul sokkal könnyebbé vált. A Kotlin praktikus funkcióival, mint például a beépített nullvédelem és a bővítési funkciók, a kód tisztábbnak és könnyebben olvashatónak tűnik.

De Kotlin semmit sem változtatott az Android elrendezésén. Egy összetett elrendezés elkészítéséhez létre kellett hoznia egy XML-fájlt, és ott meg kell terveznie. Ennek van néhány jelentős hátránya, beleértve a kód és az XML elkülönülését. Ha például egy állandó karakterlánc van a kódban, nem hivatkozhat rá csak az XML-ből, tehát ha ez a karakterlánc megváltozik a kódban, ne felejtse el frissíteni XML-ben is.

Írja be a Jetpack Compose parancsot. Ez a Google válasza az Android egyre bonyolultabb XML-elrendezés-tervezési folyamatára. Ahelyett, hogy az alkalmazás felhasználói felületét XML-ben tervezné, megteheti közvetlenül a kódból. Bár kódalapú elrendezések létrehozhatók, általában kevésbé karbantarthatók, mint az XML, és könnyen feltörhető könyvtárakat tartalmaznak. A Compose-t viszont úgy tervezték, hogy közvetlenül Kotlinon belül működjön: nincs több XML.

A Jetpack Compose is meglehetősen radikális eltérés az XML-elrendezések szabványos kötelező kialakításától. Ehelyett jobban hasonlít a React vagy a Flutter alkalmazáshoz, deklaratív elrendezésekkel, amelyek az adatok változásakor frissítik magukat, ahelyett, hogy a fejlesztőre hagyatkoznának a logika megvalósításában.

Mi támogatott

Tehát a Jetpack Compose most alfa állapotú. Az mit jelent? Nos, sok minden.

Együttműködés a Views szolgáltatással

Csakúgy, mint a Kotlin teljes mértékben együttműködik a Java-val, a Jetpack Compose teljesen együttműködik az Android szabványos nézeteivel. Ez jó néhány dolgot jelent.

Egyrészt sokkal könnyebb lesz áttérni a Jetpack Compose szolgáltatásra, ha akar. Ahelyett, hogy az összes egyéni nézetet és elrendezést komponálhatóvá kellene konvertálnia, egyszerűen elkészítheti új elrendezéseit és összetevőit a Compose alkalmazásban. Van olyan könyvtára, amely "örökölt" nézeteket használ, de alkalmazását a Compose funkcióval tervezték? Nincs mit. A Nézetet közvetlenül hozzáadhatja a Composable funkcióhoz. Még nem ugrott a Compose használatára, de olyan könyvtárat szeretne használni, amely a Composables-ra támaszkodik? Ismét nem probléma. Csak helyezze a Composable-t közvetlenül az elrendezésébe.

Ami a tématervezést illeti, ez nem annyira plug-and-play, mint az elrendezés interoperabilitása. Azonban, A Google készített egy könyvtárat szabványos XML-témáit Compose-kompatibilis témákká alakíthatja, segítve a dolgok központosítását és elkerülve az ismétlődéseket.

Animációk

Nem igazán van itt túl sok mondanivaló, kivéve, hogy a Jetpack Compose támogatja az animációkat, akárcsak az Android View keretrendszere. Tetszés szerint mozgathatja, átméretezheti és forgathatja.

Lusta listák

A lusta lista lényegében a Compose RecyclerView verziója. Csak a szükséges elemeket helyezi el, így RAM-ot takarít meg és növeli a teljesítményt. Természetesen, mivel ez a Compose, a listák megvalósítása lényegesen egyszerűbb.

ConstraintLayout

Az Android egyik legerősebb nézete a ConstraintLayout. Ez lehetővé teszi a gyermeknézetek egymáshoz viszonyított elhelyezését, méretét és súlyát, miközben bizonyos animációkat is könnyebbé tesz. Ha félt, hogy elveszíti ezt a funkciót a Compose alkalmazásban, akkor nem kellene, mert itt is van.

Anyag UI komponensek

A hatékony Nézetek másik csoportja a Google Material Components könyvtára. Az itt található tartalmak többsége szabványos nézetek és elrendezések, amelyeket a natív nézet keretrendszerben találhat meg. Ám finomították vagy csomagolták őket, hogy extra funkcionalitást biztosítsanak, és könnyebbé tegyék a témát, és eljutottak a Compose szolgáltatáshoz is.

Tesztelés

Egy alkalmazás fejlesztésének fontos része a tesztelés. Egy egyszerű alkalmazás esetén ezt manuálisan is megteheti, telepítésével és használatával. Az összetettebb projektek azonban nagy hasznot húzhatnak az automatizált tesztelési keretrendszerekből, amelyek elvégzik a legtöbb kemény munkát Ön helyett. A Jetpack Compose támogatja az automatikus tesztelést, így alkalmazását a lehető legstabilabbá teheti.

Kisegítő lehetőségek

A hozzáférhetőség társadalmunk fontos része. Technológiánk kisegítő lehetőségeinek hiányában sok ember egyszerűen ki lenne zárva a telefonjaink, televízióink és bármi más előnyeiből. A Jetpack Compose még alfa állapotban van, így a kisegítő lehetőségek támogatása még nem teljes, de a Google ezt szem előtt tartja a fejlesztés során, és a kezdetleges támogatás már jelen van.

Android Studio

A Jetpack Compose nem minden funkciója található meg magában a Jetpack Compose-ban. Az Android Studio és a Kotlin is tartalmaz beépülő modulokat és bővítményeket a könnyebb komponálás érdekében.

Kotlin fordító beépülő modul

A Kotlin JVM-hez hasonlóan az Android Studióban is található egy fordítóbővítmény, amely megfelelően átalakítja a Compose-funkciókat olyan kóddá, amelyet az Android képes megérteni és követni.

Interaktív előnézetek

Csakúgy, mint a szokásos XML-elrendezéseknél, az Android Studio is rendelkezik elrendezés előnézetével a Jetpack Compose számára. Bár jelenleg bizonyos szempontból nem olyan kényelmes, mint az XML-előnézetek, a projektet erre kell felépítenie az előnézet a frissítéshez, és egy dedikált előnézeti funkció létrehozása – ez egy figyelemre méltó előnnyel jár: az interaktív előzetesek.

Az interaktív előnézet csak egy normál előnézet, de interaktív. Őrültség, tudom. Ez azonban azt jelenti, hogy ténylegesen beírhat szöveget a szövegmezőkbe, kattintson a gombokra, és kommunikálhat a kompozíciókkal anélkül, hogy telepítenie kellene őket.

Egyszeri összeállítható telepítés

Ha valóban telepíteni szeretné (azaz telepíteni) az elrendezést, hogy megtudja, hogyan működik egy valós eszközön, ez a funkció segíthet. A normál XML-elrendezések esetén az egész alkalmazást fel kell építenie és telepítenie kell ahhoz, hogy lássa, hogyan működik egy elrendezés a valóságban. Ha a tesztelni kívánt elrendezés nincs az elsődleges képernyőn, előfordulhat, hogy sokat kell koppintania, hogy elérje azt.

És itt jön képbe az a képesség, hogy csak egyetlen Composable-t telepítsünk. Ahelyett, hogy meg kellene készítenie és telepítenie kellene az alkalmazást, majd navigálnia kellene a tesztelt elrendezéshez, egyszerűen telepítheti az elrendezést. Az Android Studio létrehoz és megnyit egy burkoló tevékenységet, amely csak az Ön által telepített Composable-t jeleníti meg. Ez sokkal gyorsabbá teheti a tesztelést és a tervezést, és még az elemek interakciójával kapcsolatos problémák elkülönítésében is segíthet.

Kód befejezése

Ha az IDE nem rendelkezik kódkiegészítéssel, akkor az még IDE is? Nem. Nem, nem. Tehát természetesen az Android Studio támogatja a Jetpack Compose teljes kódkiegészítését.


Bár ez nem minden, amit a Jetpack Compose bemutat, a fenti funkciók és viselkedés megmutatja, hogy a Google milyen erősnek szeretné ezt a keretrendszert. És bár még mindig alfa állapotban van, ez egy lépéssel a korábbi "fejlesztési" állapota előtt van. Ha visszafogtad a Jetpack Compose használatát (mint én), akkor itt az ideje, hogy még egyszer megpróbáld.