Jetpack Compose

Jetpack Compose

Jetpack Compose ist das moderne Werkzeug von Google, mit dem Entwickler Benutzeroberflächen für Android-Apps programmieren. Statt eine Oberfläche in separaten Dateien zu beschreiben, schreibt man alles direkt im Code – kompakt, flexibel und deutlich kürzer als mit dem älteren System.

Jetpack Compose ist ein Werkzeug von Google, mit dem man Benutzeroberflächen für Android-Apps baut. Benutzeroberfläche meint alles, was der Nutzer auf dem Bildschirm sieht und anfassen kann: Buttons, Texte, Listen, Eingabefelder. Früher musste man dafür zwei getrennte Dinge pflegen: eine XML-Datei, die das Aussehen beschreibt, und eine Kotlin- oder Java-Datei, die das Verhalten steuert. Jetpack Compose macht daraus eine einzige Sache. Man schreibt Kotlin-Code – eine weit verbreitete Programmiersprache für Android – und beschreibt darin direkt, was auf dem Bildschirm erscheinen soll. Google hat Compose 2021 offiziell veröffentlicht und seitdem als bevorzugten Weg für neue Android-Apps empfohlen.

Warum Compose die Android-Entwicklung verändert hat

Das alte System, bekannt als View-System, stammt aus dem Jahr 2008 – dem Jahr, in dem Android erschien. Es wurde über viele Jahre hinzugeflickt und erweitert. Das Ergebnis: viel Code für einfache Aufgaben, und viele Stellen, an denen Fehler passieren konnten. Ein Button mit Text und Farbe brauchte gut 20 Zeilen XML plus zusätzlichen Kotlin-Code. In Compose sind es oft fünf.

Ein weiterer Vorteil ist die sogenannte Zustandssteuerung. Früher musste ein Entwickler dem System manuell sagen: « Aktualisiere jetzt diesen Text. » Compose dreht das um. Man beschreibt einmalig, was angezeigt werden soll, wenn ein bestimmter Zustand gilt – zum Beispiel: « Wenn der Nutzer eingeloggt ist, zeige seinen Namen. » Ändert sich der Zustand, passt Compose die Oberfläche automatisch an. Das reduziert eine häufige Fehlerquelle deutlich.

Das Bauprinzip: Composables stapeln sich wie Bausteine

Der Grundbaustein in Compose heißt Composable – ausgesprochen « Komposäbel ». Das ist eine ganz normale Kotlin-Funktion, die man mit @Composable markiert. Sie beschreibt einen kleinen Teil der Oberfläche, zum Beispiel einen einzelnen Button oder eine Zeile Text. Große Oberflächen entstehen, indem man solche Funktionen ineinander verschachtelt.

Stell dir vor, du baust einen Profilbereich in einer App. Du schreibst eine Composable für das Profilbild, eine für den Namen, eine für den Folgen-Button. Diese drei steckst du in eine übergeordnete Composable namens ProfilKarte. Die ProfilKarte landet dann auf einem Bildschirm, der selbst wieder eine Composable ist. Dieses Schichtenprinzip nennt sich deklarativ: Man beschreibt das Ergebnis, nicht jeden einzelnen Schritt dorthin. Das ist der Gegensatz zum älteren, imperativen Stil, bei dem man Schritt für Schritt anweist, was zu tun ist.

Wenn der Nutzer einen Button drückt, berechnet Compose nur die Teile der Oberfläche neu, die sich tatsächlich verändert haben. Dieser Vorgang heißt Recomposition. Er ist gezielt und sparsam, damit die App flüssig bleibt.

Jetpack Compose in Apps, News und Stellenanzeigen

Viele bekannte Android-Apps setzen bereits auf Compose. Google selbst hat Play Store, Maps und Gmail teilweise oder vollständig auf Compose umgestellt. Twitter – heute X – und Airbnb haben öffentlich beschrieben, wie sie ihre Apps migriert haben. Wer heute eine neue Android-App startet, trifft fast immer auf Compose, weil Google es als Standard in seinen Lernmaterialien und Templates vorgibt.

In Tech-News taucht Compose vor allem bei Android-Entwicklerkonferenzen auf, etwa der Google I/O, die jedes Jahr im Frühling stattfindet. Dort werden neue Compose-Funktionen vorgestellt. Auch in Stellenanzeigen für Android-Entwickler ist « Jetpack Compose » seit 2022 eines der meistgenannten Stichwörter – wer Android-Apps bauen will, kommt an dem Begriff kaum vorbei.

Ein häufiger Irrtum: Jetpack Compose ersetzt Kotlin nicht, sondern baut darauf auf. Compose ist kein eigenes Framework, das man statt einer Programmiersprache lernt – es ist eine Bibliothek, also eine Sammlung fertiger Werkzeuge, die man in Kotlin-Code einbindet. Der Begriff Jetpack wiederum bezeichnet eine ganze Familie solcher Bibliotheken von Google für Android, von der Datenbank-Verwaltung bis hin zur Navigation zwischen Bildschirmen.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.