Skip to content

6 Fazit

Fabian Heck edited this page Nov 25, 2020 · 3 revisions

6.1 Zusammenfassung

Der Einsatz von Kotlin Multiplatform in der App-Entwicklung liefert in einigen der untersuchten Kriterien einen Mehrwert gegenüber nativen Technologien, ist aber auch mit Einschränkungen verbunden.

Kotlin Multiplatform ermöglicht eine effizientere Erstellung von Apps. Der Aufwand in Entwicklung und Wartung wird durch das Teilen von Code vor allem langfristig reduziert. Im Vergleich zu den nativen Technologien, konnte insgesamt 7% des Quellcodes eingespart und 29% geteilt werden. Betrachtet man die Anwendungsfälle einzeln, war die Einsparung mit bis zu 35% und der Anteil des geteilten Quellcodes mit bis zu 54% sogar deutlich größer. Es muss berücksichtigt werden, dass die Projekterstellung aufwendig und die plattformübergreifende Entwicklung deutlich komplexer ist. Der tatsächliche Vorteil in der Produktivität ist daher abhängig vom jeweiligen Projekttyp. Einen großen Nutzen bietet Kotlin Multiplatform nur in Projekten, die viel plattformunabhängigen Code (d.h. Quellcode ohne Verwendung plattformspezifischer SDKs) enthalten. Ein weiterer Vorteil ist, dass die Technologie ohne großes Risiko (d.h. hohe finanzielle und zeitliche Investitionen) ausprobiert werden kann. Erfahrene native App-Entwickler können auf bestehendes Wissen aufbauen, da teilweise dieselben Programmiersprachen und Werkzeuge verwendet werden. Außerdem ist flexibel wählbar, in welchem Umfang die Technologie eingesetzt wird. Eine Anwendung kann ihre gesamte Geschäftslogik zwischen Android und iOS teilen oder zunächst nur eine einzige Klasse.

Die Kriterien bezüglich Funktionsumfang und Nutzererlebnis werden weitestgehend von Kotlin Multiplatform und der nativen Entwicklung gleichwertig erfüllt. Eine Kotlin Multiplatform App belegt für iOS mehr Speicherplatz und hat eine etwas schlechtere Performanz.

Kotlin Multiplatform erfüllt einige der hoch priorisierten Kriterien nicht ausreichend. Es kann keine Stabilität und Zuverlässigkeit gewährleistet werden, da größere Änderungen mit jedem Update möglich sind. Die Unterstützung durch Werkzeuge ist für den professionellen Einsatz nicht ausreichend und unterscheidet sich zwischen Android und iOS. Während die Entwicklungsumgebung Android Studio zumindest grundlegende Funktionen bietet, fehlt eine zuverlässige Integration in Xcode. IOS-Entwickler können in vielen Situationen ihr gewohntes Tooling nicht verwenden. Änderungen am geteilten Code sind z.B. nur mit Android Studio möglich. Die Build-Zeiten für das Apple Framework sind relativ lange, andere grundlegende Funktionalitäten wie Debuggen in Xcode funktionieren nur unzuverlässig. Eine kurzfristige Verbesserung ist unwahrscheinlich, da Apple die Möglichkeiten Xcode zu erweitern aktuell stark einschränkt (Apple, 2016, Folie 10) und darüber hinaus den Einsatz für Kotlin Multiplatform sogar aktiv behindern könnte.

Alles in allem eignet sich Kotlin Multiplatform zurzeit noch nicht für die professionelle Entwicklung von Apps. Es ist jedoch zu erwarten, dass einige der Kritikpunkte in der nächsten Zeit bis zur offiziellen Veröffentlichung von Kotlin Multiplatform behoben oder zumindest verbessert werden. Spätestens nach Veröffentlichung der ersten stabilen Release-Version (stable release) sollte die Technologie aufgrund ihrer Vorteile jedoch erneut evaluiert werden.

6.2 Ausblick

Kotlin Multiplatform bietet großes Potential für die Zukunft, da die Technologie sich nicht auf die Android und iOS Entwicklung beschränkt, sondern das Web, Windows, Mac, Linux oder Apple Watch Zielplattformen sein können. Mit zunehmender Digitalisierung werden Anwendungen benötigt, die auf einer Vielzahl von Geräten mit unterschiedlicher Benutzeroberfläche und Interaktionsmöglichkeiten einsetzbar sein müssen. Als Beispiele können hier Smartphone, Fernseher, Auto, Tablet, Computer, Smartwatch oder Smartglasses genannt werden. Der Ansatz von Kotlin Multiplatform die Benutzeroberfläche separat zu entwickeln, aber Teile der Geschäftslogik für alle Geräte gemeinsam zu verwenden, erscheint in diesem Kontext zukunftsorientiert.

6.3 Weitere Forschung

Was weitere Forschungen betrifft, wäre ein Vergleich von Kotlin Multiplatform mit bestehenden Cross-Plattform Frameworks bzw. hybriden Technologien von Interesse. Diese könnten die Produktivität noch weiter erhöhen, da die Benutzeroberfläche hier plattformübergreifend entwickelt wird, aber auch negative Auswirkungen z.B. auf das Nutzererlebnis haben. Die in dieser Arbeit definierten Kriterien können dabei als Grundlage für den Vergleich herangezogen werden.

Wichtig wäre es außerdem Kotlin Multiplatform an einem konkreten Projekt über einen längeren Zeitraum zu testen, um detailliertere Erkenntnisse über den Entwicklungsprozess zu gewinnen.