Twitter ist eine der am weitesten verbreiteten Social Media-Plattformen, auf der Nutzer jederzeit sehen können, was in der Welt passiert. Das Engineering-Team begann mit der Verwendung von Jetpack Compose, um das Designsystem zu modernisieren.
Vorgehensweise
Da die UI-Komponenten und das Theming-System der Twitter App vor etwa 10 Jahren entwickelt wurden und aus Legacy-Komponenten bestanden, die einen enormen Wartungsaufwand erforderten, wollte das Engineering-Team ein neues, skalierbares Designsystem mit zustandslosen UI-Komponenten entwickeln, die einfach zu verwenden und zu warten sind und intuitiv implementiert, erweitert und angepasst werden können. Daher entschieden sie sich für Compose.
Das Team begann mit dem Austausch der Komponenten durch das interne Designsystem und führte Compose in neuen Bildschirmen ein, die nicht von der Legacy-Einrichtung abhängig sind.
Ergebnisse
Compose bot eine solide Lösung für das Ziel, die Geschwindigkeit der Entwicklung, die Zufriedenheit der Entwickler und die Wartbarkeit von UI-Code und -Komponenten zu verbessern. Nachdem sie mit der Verwendung von Compose begonnen hatten, sagten die Twitter-Entwickler, dass es „mit einem Wort: unglaublich ist. Intern bezeichnen wir es als Android UI 2.0 und es ist sehr schwierig, zu unserem Legacy-View-System zurückzukehren. Es hat unsere Effizienz und Geschwindigkeit gesteigert für Dinge, die wir speziell in Compose entwickelt haben.“
Es gab Verbesserungen bei der Geschwindigkeit der Entwicklung und der Tests: „Die Bearbeitungszeit für Designänderungen für alles, was wir in Compose übernommen haben, ist viel kürzer als zuvor. Außerdem führen wir sehr viele Tests mit unseren Produktänderungen durch. Das ist viel besser und schneller möglich, wenn der Code in Compose und Kotlin geschrieben ist.“
Der Code ist nicht nur intuitiver, sondern auch schneller zu schreiben und leichter zu lesen: „Außerdem ist unsere Theming-Ebene viel intuitiver und lesbarer und wir konnten in einer einzigen Kotlin-Datei das erreichen, was sonst mehrere XML-Dateien erfordert hätte, die für Attributdefinitionen und -zuweisungen über mehrere Theme-Overlays verantwortlich waren. Die Neuimplementierung unserer gesamten Theming-Struktur im Kontext von Compose dauerte nur wenige Tage bis Wochen und hat sich bereits als viel robuster und intuitiver erwiesen als unser Legacy-Theme-System.“
Jetzt starten
Weitere Informationen zu Compose.