Jetpack Compose ist das moderne Android-Toolkit zum Erstellen nativer Benutzeroberflächen. Die UI-Entwicklung für Android vereinfacht und beschleunigt die Entwicklung von Apps mit weniger Code, leistungsstarken Tools und intuitiven Kotlin-APIs. Damit lässt sich die Android-Benutzeroberfläche schneller und einfacher erstellen. Bei der Entwicklung von Compose haben wir mit verschiedenen Partnern zusammengearbeitet, die all diese Vorteile aus erster Hand erlebt und einige ihrer Erkenntnisse mit uns geteilt haben.

Weniger Code

Weniger Code zu schreiben, wirkt sich auf alle Phasen der Entwicklung aus: Als Autor können Sie sich auf das vorliegende Problem konzentrieren, mit weniger Test- und Debugging-Aufwand und geringerem Risiko von Fehlern. Als Prüfer oder Administrator müssen Sie weniger Code lesen, verstehen, überprüfen und pflegen.

Mit der Funktion „Compose“ können Sie im Vergleich zum Android View-System mit weniger Code mehr erledigen: Schaltflächen, Listen oder Animationen – was auch immer Sie erstellen möchten, jetzt muss weniger Code geschrieben werden. Das sagen einige unserer Partner:

  • Für die gleiche Button-Klasse war [der Code] zehnmal kleiner.“ (Twitter)
  • Außerdem gibt es eine deutliche Reduzierung der Bildschirme, die mit RecyclerView erstellt wurden, also bei den meisten Bildschirmen.“ (Monzo)
  • Wir waren sehr erfreut, zu sehen, wie wenige Zeilen erforderlich waren, um Listen oder Animationen in unserer App zu erstellen. Wir schreiben weniger Code pro Funktion, wodurch wir uns mehr auf die Schaffung eines Mehrwerts für unsere Kunden konzentrieren können.“ (Cuvva)

Der Code, den Sie schreiben, wurde nur in Kotlin geschrieben und nicht in Kotlin und XML aufgeteilt: „Es ist viel einfacher, Code zu verfolgen, wenn alles in derselben Sprache und oft in derselben Datei geschrieben ist, anstatt zwischen Kotlin und XML hin und her zu wechseln.“ (Monzo)

Mit der Funktion „Compose“ geschriebener Code ist einfach und leicht zu verwalten, egal was Sie erstellen. „Das Layoutsystem von Compose ist konzeptionell einfacher und damit leichter verständlich. Es ist auch einfacher, den Code für komplizierte Komponenten zu lesen.“ (Quadrat)

Intuitiv

Für Compose wird eine deklarative API verwendet. Sie müssen also nur noch die Benutzeroberfläche beschreiben. Den Rest übernimmt Compose. Die APIs sind intuitiv, einfach zu finden und zu verwenden: „Unsere Designebene ist wesentlich intuitiver und besser lesbar. Das konnten wir innerhalb einer einzigen Kotlin-Datei umsetzen, was sonst über mehrere XML-Dateien erstreckte, die für Attributdefinitionen und -zuweisungen über mehrschichtige Theme-Overlays verantwortlich waren.“ (Twitter)

Mit der Funktion "Compose" erstellen Sie kleine, zustandslose Komponenten, die nicht an eine bestimmte Aktivität oder an ein Fragment gebunden sind. Das erleichtert die Wiederverwendung und das Testen: „Wir haben uns zum Ziel gesetzt, neue UI-Komponenten bereitzustellen, die zustandslos, einfach zu verwenden und zu warten und intuitiv zu implementieren/erweitern/anpassen. Compose hat uns eine solide Antwort gegeben.“ (Twitter)

Unter „Compose“ ist der Status explizit und wird an die zusammensetzbare Funktion übergeben. Auf diese Weise gibt es eine zentrale, entkoppelte Datenquelle für den Bundesstaat. Wenn sich der App-Status dann ändert, wird die Benutzeroberfläche automatisch aktualisiert. „Während du über etwas nachdenkst, musst du dir weniger Gedanken machen. Und weniger Verhaltensweisen, die außerhalb deiner Kontrolle liegen oder kaum verstanden werden.“ (Cuvva)

Entwicklung beschleunigen

Die Funktion „Compose“ ist mit Ihrem gesamten Code kompatibel: Sie können den Code für die Funktion „Compose“ aus „Views“ (Ansichten) und „Views“ (Ansichten) aus der Liste aufrufen. Die meisten gängigen Bibliotheken wie Navigation, ViewModel und Kotlin funktionieren mit Compose, sodass Sie jederzeit und überall mit der Implementierung beginnen können. „Bei der Integration von Compose haben wir mit der Interoperabilität begonnen und festgestellt, dass es ‚einfach funktioniert‘. Dabei stellten wir fest, dass wir uns keine Gedanken mehr um den hellen und den dunklen Modus machen mussten. Außerdem lief alles reibungslos ab.“ (Cuvva)

Dank der umfassenden Android Studio-Unterstützung mit Funktionen wie Livevorschauen können Sie Code schneller iterieren und versenden: „Die Vorschauen in Android Studio haben uns enorm viel Zeit gespart. Durch die Möglichkeit, mehrere Vorschauen zu erstellen, sparen wir außerdem Zeit. Oft müssen wir eine UI-Komponente in verschiedenen Status oder mit verschiedenen Einstellungen prüfen, z. B. mit Fehlerstatus oder mit einer anderen Schriftgröße. Dank der Möglichkeit, mehrere Vorschauen zu erstellen, können wir das ganz einfach prüfen." (Quadrat)

Vielseitig

Mit Compose können Sie wunderschöne Apps mit direktem Zugriff auf die APIs der Android-Plattform und integrierter Unterstützung für Material Design, das dunkle Design, Animationen und mehr erstellen: „Compose hat nicht nur eine deklarative Benutzeroberfläche gelöst, sondern auch die APIs für Barrierefreiheit, das Layout und vieles mehr. Es gibt weniger Schritte zwischen dem, was Sie machen möchten, und es tatsächlich schaffen“ (Quadrat).

Mit Compose kannst du deinen Apps durch Animationen schnell und einfach Bewegung und Leben einbringen: „Animationen lassen sich so einfach in das Tool einfügen, dass es kaum einen Grund dafür gibt, Dinge wie Farb-, Größen- oder Höhenänderungen nicht zu animieren“ (Monzo), „Sie können Animationen erstellen, ohne dass etwas Besonderes erforderlich ist. Das ist nicht anders als die Darstellung eines statischen Bildschirms.“ (Quadrat).

Unabhängig davon, ob Sie mit Material Design oder Ihrem eigenen Designsystem arbeiten, bietet Compose Ihnen die Flexibilität, das gewünschte Design zu implementieren: „Es war sehr hilfreich für uns, Material Design von der Grundlage zu trennen, da wir unser eigenes Designsystem aufbauen, das oft andere Designanforderungen von Material erfordert.“ (Quadrat)

In den detaillierten Fallstudien erfahren Sie, wie Twitter, Square, Monzo und Cuvva Compose verwenden.