Zum Inhalt springen

Fallstudie: Kotlin Multiplatform für eine Vorsorge-App mit 150'000 Nutzern

15. März 2025 von Matthias Ernst, Kotlin Multiplatform Lead
Kotlin Multiplatform Fallstudie Mobile-Entwicklung Finanzdienstleistungen

Die Herausforderung

Eine grosse Schweizer Bank musste eine Säule-3a-App für rund 150'000 aktive Nutzer auf iOS und Android weiterentwickeln. Die besondere Herausforderung: Ein kleines Engineering-Team von nur zwei Entwicklern war für zuverlässige Releases auf beiden Plattformen verantwortlich.

Matthias Ernst und Marc Rymann von Ernst & Conte leiteten das Projekt. Das Ziel war klar: Mit weniger Aufwand mehr liefern, ohne bei der Qualität Kompromisse einzugehen, die bei einem regulierten Finanzprodukt nicht infrage kommen.

Warum Kotlin Multiplatform?

Zwei getrennte Codebasen mit einem Zweierteam zu pflegen führte zu den erwartbaren Problemen: doppelte Logik, unterschiedliches Verhalten auf den Plattformen und ein Testaufwand, der sich nur schlecht skalieren liess.

Zuerst teilten wir die Geschäftslogik mit Kotlin Multiplatform (KMP), während die Benutzeroberflächen plattformspezifisch blieben. Nachdem sich dieser Ansatz bewährt hatte, erweiterten wir ihn mit Compose Multiplatform auf die Präsentationsschicht. So entstand eine gemeinsame Codebasis für iOS und Android.

Schrittweise Migration

Wir haben die App nicht über Nacht neu geschrieben. Die Migration erfolgte bewusst Bildschirm für Bildschirm:

  1. Einen einzelnen Proof-of-Concept-Screen mit Compose Multiplatform entwickeln.
  2. Ihn zusammen mit den bestehenden nativen Screens im produktiven Betrieb validieren.
  3. Den nächsten Screen migrieren und den Ablauf wiederholen.

Mit jeder Iteration wurde die Codebasis einfacher und die Angriffsfläche für plattformspezifische Fehler kleiner.

Messbare Ergebnisse

Die Auswirkungen waren konkret:

  • Schnellere Feature-Entwicklung. Einmal implementieren, auf beiden Plattformen ausliefern. Die Entwicklungszyklen wurden deutlich kürzer.
  • Weniger Fehler. Eine gemeinsame Quelle der Wahrheit beseitigte viele Inkonsistenzen paralleler Implementierungen.
  • Bessere Zusammenarbeit. Eine Codebasis löste die Trennung zwischen iOS und Android auf. Code-Reviews, Architekturentscheide und Wissenstransfer verbesserten sich.

Was wir gelernt haben

Zwei Erkenntnisse lassen sich auf jede KMP-Migration übertragen:

  1. Klein anfangen und früh validieren. Wählen Sie einen Screen mit geringem Risiko, beweisen Sie den Ansatz im produktiven Betrieb und erweitern Sie danach den Umfang. Alles auf einmal zu migrieren schafft unnötige Risiken.
  2. Kontinuierlich refaktorieren. Jeder migrierte Screen ist eine Chance, technische Schulden abzubauen. Nutzen Sie sie, denn der Gewinn für die langfristige Wartbarkeit summiert sich.

Über dieses Projekt hinaus

Derselbe Ansatz eignet sich für andere Mobile-Produkte. Immer mehr Teams teilen mit KMP Logik, Datenmodelle und zunehmend auch UI-Komponenten zwischen Plattformen. Gerade für schlanke Engineering-Teams ist die eingesparte Doppelarbeit erheblich.

Wie es weitergeht

Die Migration läuft weiter. Unser Ziel ist eine vollständig gemeinsame Codebasis, in der die letzten nativen Komponenten mit der Weiterentwicklung von Compose Multiplatform entfallen. Später soll dieselbe Codebasis auch die Webanwendung abdecken und die Delivery-Pipeline weiter vereinfachen.

Fazit

Mit Kotlin Multiplatform konnte ein Zweierteam eine produktive App für 150'000 Nutzer auf zwei Plattformen betreiben, mit schnelleren Releases, weniger Fehlern und einer einfacheren Codebasis. Teams mit ähnlichen Rahmenbedingungen sollten den Ansatz ernsthaft prüfen.


Möchten Sie Kotlin Multiplatform für Ihr Projekt prüfen? Kontaktieren Sie uns für eine erste Einschätzung.