Google heeft Jetpack Compose in Beta uitgebracht, de declaratieve UI-engine van het bedrijf, geschreven in Kotlin, gemaakt om de UI-ontwikkeling te vereenvoudigen.
Hier zijn we weer. Ik schreef over Jetpack Compose, de nieuwe UI-engine van Google, toen deze van start ging alfa, en opnieuw bij JetBrains porteerde het naar desktopplatforms. Vandaag is de bètaversie van Jetpack Compose hier.
In het geval dat u niet op de hoogte bent van alle nieuwe UI-technologieën die er bestaan (ik neem het u niet kwalijk) en u niet wilt om die andere artikelen door te lezen (nu geef ik je de schuld), hier is een korte beschrijving van waar dit allemaal over gaat. Jetpack Compose is een declaratieve UI-engine geschreven in Kotlin die tot doel heeft klassieke imperatieve UI-engines, zoals de XML-lay-outs van Android, te vervangen (of op zijn minst een haalbaar alternatief te zijn). Ik zal niet ingaan op het verschil tussen declaratieve en imperatieve lay-outs, dus laten we zeggen dat Jetpack Compose een krachtige lay-outengine is die alleen code bevat en die de UI-implementatie een stuk eenvoudiger kan maken.
Nu dat uit de weg is, wat betekent een bètaversie voor Compose precies? Goed, laten we even kijken.
API
Elk goed raamwerk heeft (per definitie) een API nodig. In de pre-alfa- en alfafase was Google hard bezig om de API van Compose zo intuïtief en nuttig mogelijk te maken. En net als elk goed project heeft het veel herzieningen ondergaan. Het gebruik van Compose in deze fasen kan moeilijk zijn, omdat API's zonder veel waarschuwing kunnen worden verwijderd of hernoemd.
Nu we ons in de bètafase bevinden, heeft Google er vertrouwen in dat de API compleet en stabiel is. Dat betekent geen (drastische) verwijderingen of wijzigingen meer, waardoor u meer tijd kunt besteden aan het daadwerkelijk maken van uw app dan aan het bijhouden van API-wijzigingen.
Een stabiele API betekent uiteraard niet dat deze onveranderlijk is. Google zal nog steeds functies toevoegen en dingen veranderen, maar nu zullen er behoorlijke beëindigingsmeldingen en vervangingscycli zijn.
Coroutine-ondersteuning
Onthoud wanneer Google heeft de AsyncTask afgeschaft in Android, en iedereen maakte zich zorgen en vergat het vervolgens helemaal? Daar kun je waarschijnlijk het coroutine-framework van Kotlin voor bedanken. In zijn meest basale vorm is het een vervanging voor AsyncTask, maar het is ook veel krachtiger, veel flexibeler en veel platformonafhankelijker.
Terwijl Jetpack Compose dat wel heeft soort van ondersteunde het gebruik van coroutines, het was meestal als een interoperabiliteitslaag. Met de bèta zijn coroutines echter in Compose ingebouwd, zodat u uw asynchrone oproepen weer goed kunt gebruiken.
Animaties
Animaties kunnen nogal vervelend zijn om in Android te bouwen, en een tijdje waren ze ook in Compose. In de bèta belooft Google echter een "eenvoudig te gebruiken" animatie-API om dingen eenvoudiger te maken. Ze hebben Android Studio ook bijgewerkt met ondersteuning voor het bekijken van voorbeelden van deze animaties, zodat u uw app niet hoeft te implementeren om ze te testen.
Indelingen
Android Studio heeft een aantal behoorlijk handige tools voor het omgaan met lay-outs. Een daarvan is het lay-outvoorbeeld, waarmee u ongeveer kunt zien hoe uw lay-out er op een apparaat uit zal zien, en de andere is de lay-outinspecteur, waarmee u precies kunt zien wat er aan de hand is met de lay-out van uw app wanneer deze op een apparaat.
Voorheen werkte het lay-outvoorbeeld wel met Compose-lay-outs, maar moest u uw app elke keer opnieuw opbouwen als u iets veranderde voordat het voorbeeld werd bijgewerkt. Nu we echter in de bètafase zitten, is Android Studio bijgewerkt met live previews van uw Compose-code.
Ook voorheen functioneerde de lay-outinspecteur in wezen niet met Compose-lay-outs. Het zou een screenshot van de app laten zien, maar het was niet in staat om daadwerkelijk een draadframe van alle lay-outcomponenten te extraheren en weer te geven. Net als bij het lay-outvoorbeeld is Android Studio bijgewerkt met een nieuwe lay-outinspecteur die Compose-lay-outs ondersteunt.
Praat terug
Laten we het nu hebben over toegankelijkheid, een ongelooflijk belangrijke functie die helaas meestal wordt vergeten. Gelukkig was Google het niet vergeten, hoewel het eerder had kunnen gebeuren: Compose-lay-outs worden nu ondersteund Praat terug, een geavanceerde schermlezer op Android die inhoud aan u voorleest en u met eenvoudige gebaren met het scherm laat communiceren.
Hoewel dit voorlopig de enige belangrijke toegankelijkheidsfunctie is, heeft Google beloofd dat er, als het stabiel is, andere toegankelijkheidsfuncties zullen worden toegevoegd. Beter laat dan nooit, denk ik, en hopelijk zullen deze functies nauwer geïntegreerd zijn met Compose dan met XML.
En dat is zo ongeveer alles.
Als je aan de slag wilt met Jetpack Compose, is dit een goed moment. Je hebt een API met volledige functies om mee te spelen en te leren, en veel tutorials rechtstreeks van Google. Uitchecken De ontwikkelaarswebsite van Google voor meer informatie over updates en hoe u Compose kunt gebruiken.
En vertel ons natuurlijk wat u vindt van de veranderingen in de bèta of uw mening over Compose in het algemeen.