Monzo entwickelt mit der Funktion „Schreiben“ eine robustere und hochwertigere App

Monzo ist eine Bank und App, die digitale Finanzdienstleistungen anbietet. Ihr Ziel ist es, dass Geld für alle funktioniert. Das Designsystem von Monzo wich immer mehr von Material Design ab. Das Unternehmen suchte daher nach einer einfachen Möglichkeit, benutzerdefinierte Komponenten zu schreiben und zu verwalten, die sich ständig weiterentwickeln. Deshalb entschied es sich für Jetpack Compose.

Vorgehensweise

In Compose werden die Material Design-Komponenten als Ebene über den designsystemunabhängigen Foundation-APIs bereitgestellt. Monzo hat die Foundation APIs verwendet, um eine eigene Komponentenbibliothek zu erstellen, wobei die Material-Komponenten als Referenz dienten. Sie begannen mit der Migration eines Bildschirms nach dem anderen und verwenden Compose jetzt für alle neuen Bildschirme. Compose wird jetzt in der Produktion von allen Android-Entwicklern verwendet: „Wir sind auf keine größeren Probleme gestoßen und haben uns daher sicher genug gefühlt, es für einige ausgewählte neue Funktionen und schließlich für alle neuen Funktionen zu verwenden.“

Ergebnisse

Das Monzo-Team hat Komponenten erstellt, mit denen sich neue Bildschirme ganz einfach erstellen lassen: „Die von uns bereitgestellten Komponenten machen das Erstellen eines Bildschirms während des Lernens von Compose viel einfacher. Die slotbasierten APIs sind ein fantastisches Muster, das es uns wirklich leicht macht, größere Komponenten aus vielen kleinen Bausteinen zu erstellen.“

Mit Compose konnte das Monzo-Team eine qualitativ hochwertigere App entwickeln und Funktionen hinzufügen, die in den Sprints zuvor nicht möglich waren: „Ein Beispiel sind Animationen. Sie lassen sich in Compose so einfach hinzufügen, dass es kaum einen Grund gibt, Dinge wie Farb-, Größen- oder Höhenänderungen nicht zu animieren. Diese „Nice-to-have“-Animationen sind oft zu schwierig, um den Aufwand und die Komplexität im View-System zu rechtfertigen.“

Der Code ist jetzt kürzer und leichter zu lesen, zu verstehen und zu warten: „Deklarativer Code ist viel einfacher zu verstehen als Code, der eine veränderliche UI-Hierarchie manipuliert. Außerdem ist es viel einfacher, den Code zu verfolgen, wenn er in derselben Sprache und oft in derselben Datei geschrieben ist, anstatt zwischen Kotlin und XML hin- und herzuspringen. Und fang bloß nicht mit XML-Designs und ‑Stilen an! Theming ist in Compose viel einfacher zu verstehen. Unser Theme besteht nur aus den von uns definierten Attributen, die Werte sind auf allen Geräten einheitlich und da es in Kotlin geschrieben ist, lässt es sich in der IDE sehr einfach durchsuchen und nachvollziehen.“

Mit Compose konnte das Monzo-Team seine App ganz einfach testen und dafür sorgen, dass sie barrierefrei ist: „Compose hat uns geholfen, weniger anfällige Tests zu schreiben, die zuverlässig ausgeführt werden und uns viel Vertrauen geben, dass unsere App tatsächlich für unsere Nutzer funktioniert. Durch Tests über das Semantiksystem wird außerdem sichergestellt, dass unsere Bildschirme zumindest einigermaßen standardmäßig zugänglich sind.“

Erste Schritte

Weitere Informationen