Der App-Markt zeichnet sich durch eine hohe Zahl an App-Dienstleistern aus – und geht einher mit einem entsprechend großen und unübersichtlichen Angebot. Sich in diesem Dschungel für einen Dienstleister zu entscheiden, kann dabei herausfordernd sein. Denn gerade in Bezug auf die Funktionalität der Apps kommen mehrere Anbieter in Frage. Doch neben der reinen Funktionalität sollte eine App zusätzlich gut wartbar, modifizierbar und flexibel erweiterbar sein – hier wird das Angebot bereits übersichtlicher.
Bei der Suche nach einem App-Dienstleister ist es daher ratsam, gezielt nach der Software-Architektur zu fragen. Denn ein klares Softwaredesign sorgt zum einen für eine bessere Code-Struktur, zum anderen für eine einfachere und kosteneffizientere Realisierung bei Änderungen in den unterschiedlichen Phasen eines App-Lebenszyklus. Das gelingt vor allem dann, wenn die unterschiedlichen Ebenen voneinander unabhängig sind bzw. ihre Kommunikation klaren Regeln folgt – dieser Ansatz ist als Clean Architecture bekannt.
Bei grandcentrix verwenden wir in unseren Android Apps Clean Architecture in Kotlin mit funktionalen Datentypen, um so klar die Zuständigkeiten der Architekturschichten zu trennen und potentielle, zukünftige Änderungen zu isolieren. Clean Architecture besteht dabei aus folgenden Schichten:
- Datenschicht (z.B. Netzwerkkommunikation)
- Domänenschicht (Geschäftslogik in der Form von Anwendungsfällen)
- Präsentationsschicht (UI oder – für Bibliotheken – die API-Oberfläche)
Im Folgenden zeigen wir anhand konkreter Anwendungsbeispiele, wie mit Hilfe von Kotlin gute Android-App-Designs realisierbar sind und wie sich auf diese Weise schnell und effizient nachhaltige Apps entwickeln lassen.