Seit der Gründung von Apps with love im Jahr 2010, hat sich die technologische Landschaft erheblich weiterentwickelt. Es sind zahlreiche neue Programmiersprachen und Frameworks entstanden. Wir setzen für jedes Projekt auf die jeweils passendste Technologie. In vielen Fällen entwickeln wir native Apps oder Weblösungen, je nach Projekt setzen wir aber auch Cross-Plattform Technologien ein. Wir arbeiten hauptsächlich mit Kotlin Multiplatform, haben aber auch Erfahrung mit anderen Lösungen wie Flutter und Unity.

Was sind Cross-Plattform Apps?

Cross-Plattform Apps werden – wie es der Name sagt – mit Cross-Plattform Technologien entwickelt. Das sind Programmiersprachen, die nicht spezifisch für ein Betriebssystem ausgelegt sind, sondern eben übergreifend für mehrere Betriebssysteme verwendet werden können. Mittels Frameworks wird die Codebasis dann jeweils für die einzelnen Betriebssysteme kompiliert. Eine App, die mit einer Cross-Plattform Technologie entwickelt wurde, kann dann also gleichermassen für iOS und Android und teilweise auch im Web als Browser-Applikation eingesetzt werden. Bekannte Beispiele neben Kotlin Multiplatform, Flutter und Unity sind auch React Native, .NET MAUI von Microsoft (ehemals Xamarin) oder Ionic.

Was sind die Vor- und Nachteile von Cross-Plattform Technologien?

Vorteile

  • Eine Codebasis: Mit Cross-Plattform Technologien muss ein Teil des Codes nur einmal geschrieben werden, da die Codebasis dann für mehrere Plattformen verwendbar ist.

  • Zeit & Kosten: Da nur eine Codebasis benötigt wird ist die Entwicklung weniger zeitintensiv und die Kosten werden – zumindest initial – etwas gesenkt.

  • Einfachere Wartung: Wenn nur eine Codebasis gepflegt werden muss (im Gegensatz zu mindestens 2 wenn Apps nativ umgesetzt werden), bedeutet dies auch, dass der Wartungsaufwand und die Fehlerbehebung für alle Plattformen (zumindest in der Theorie) einheitlich und gleichzeitig erfolgen kann. 

  • Gemeinschaft & Support: Die gängigen Frameworks haben eine grosse Entwickler*innengemeinschaft, die Ressourcen, Support & eine Vielzahl an Plugins bietet.

Nachteile

  • Performance und Usability: Cross-Plattform Technologien eignen sich nicht für alle Anwendungsfälle - nicht alles kann gleich gut umgesetzt werden, wie wenn nativ entwickelt wird. Und dadurch, dass «nur» eine App entwickelt wird, wird auch nicht auf die unterschiedlichen Nutzungsmuster, Design Best Practises und unterschiedlichen Erwartungen der Nutzer*innen auf den jeweiligen Plattformen eingegangen. Das heisst: Unter dem Strich leidet die Qualität.

  • Plattformspezifische Funktionalitäten müssen teilweise separat entwickelt werden, was dazu führt, dass am Schluss trotzdem mehrere Codebasen bestehen, die gepflegt werden müssen.

  • Langfristiger Aufwand: Cross-Plattform-Technologien können die Entwicklung anfangs vereinfachen. In der Praxis zeigt sich jedoch, dass das nicht immer der Fall ist – insbesondere langfristig kann der Aufwand sogar höher sein. Gründe dafür sind beispielsweise Updates der genutzten Frameworks, oder zusätzlicher plattformspezifischer Code, der sich oft nicht ganz vermeiden lässt.

  • Abhängigkeit zur Cross-Plattform Frameworks: Wenn Frameworks nicht mehr aktiv gewartet werden oder nicht mit den neuesten Plattformversionen kompatibel sind, kann dies problematisch werden: Unter Umständen muss dann eine App komplett neu geschrieben werden.

Wann ist eine Cross-Plattform App sinnvoll?

Trotz der Nachteile gibt es Fälle, in denen die Verwendung eines Crossplattform-Frameworks, wie zum Beispiel Kotlin Multiplatform, Flutter oder React Native, sinnvoll ist:

  • Begrenzte Lebensdauer: Wird eine App nur für eine bestimmte Zeit entwickelt – beispielsweise im Rahmen einer zeitlich begrenzten Kampagne – verringert sich das Risiko der Abhängigkeit von einem Framework. Ausserdem ist die Gefahr kleiner, dass in der Zukunft aufwändige Framework-Migrationen nötig werden.

  • Höchste Qualität steht nicht im Fokus: Falls die App einen begrenzten Funktionsumfang hat und allenfalls auch nur selten verwendet wird (zum Beispiel eine Konfiguration einrichten, sporadisch ein Formular versenden oder ähnliches) sind maximale Usability und Performance oft nicht im Zentrum, sondern eher Kosteneffektivität.

Was spricht für Kotlin Multiplatform?

Im Unterschied zu Flutter verwenden wir Kotlin Multiplatform vor allem dann, wenn im Frontend viel Businesslogik enthalten ist, die für iOS und Android gemeinsam genutzt werden kann. Der Code, mit dem die User*innen direkt in Berührung kommen, setzen wir hingegen plattformspezifisch um. Das macht den Nachteil von schlechterer Usability und Performance von Crossplattform-Frameworks gegenüber nativen Apps wett. So lassen sich Entwicklungskosten sparen, ohne Qualitätseinbussen - erkauft mit einer gewissen Plattformabhängigkeit.

Unsere Expertise im Bereich Cross-Plattform Apps

Melde dich bei uns: Wir wissen, wann eine Cross-Plattform App sinnvoll ist und wann eine native Entwicklung oder eine Weblösung besser passt.

Wir entscheiden bei jedem Projekt gemeinsam mit dir, welche die richtige Technologie ist, die zu den Bedürfnissen deiner Zielgruppe, deinem Budget und den technischen Anforderungen passt und zeigen dir transparent die jeweiligen Vor- und Nachteile auf.

In gewissen Fällen, zum Beispiel wenn du mit .NET MAUI oder React Native entwickeln willst, sind wir möglicherweise nicht die Richtigen. Da helfen wir dir gerne mit Empfehlungen von Partner*innen weiter, die diese Technologien perfekt im Griff haben.
Ergänzend bieten wir dir unsere Expertise in den Bereichen User Experience, Design, Backend Entwicklung oder Marketing an. Interessiert? Hier geht’s zu unserem kompletten Angebot.