App entwickeln – Nativ oder Cross-Platform?
Wer bei seinen Usern auf dem Smartphone präsent sein will, ist meist gezwungen, je eine App im Google Play Store und im App Store von Apple zum Download anzubieten. Und es gibt grundsätzlich zwei Möglichkeiten dorthin zu gelangen:
Native Appentwicklung
Die gleiche App wird parallel für beide Plattformen entwickelt. Einmal für Android mit der Programmiersprache Kotlin und einmal mit iOS mit der Programmiersprache Swift. Meistens ist bei der nativen Appentwicklung je ein spezialisierter Softwareentwickler involviert, der genau weiss, was auf seiner spezifischen Plattform am besten funktioniert.
Hält man die beiden Apps für Android und iOS nebeneinander, wird man leichte Unterschiede an den Interaktionspatterns und dem Interface feststellen. Das ist gewollt, da in beiden Apps die Plattform spezifischen Eigenheiten vollumfänglich berücksichtigt werden. Beide Usergruppen fühlen sich so in ihrer App voll zuhause.
Betreffend User Experience ist die native Appentwicklung unschlagbar. Transitionen laufen sehr flüssig, haptischen und visuelles Feedback kommt sehr direkt, Ein- und Ausblenden der Tastatur funktionieren problemlos ohne Überlappung des Inhalts und die App hat uneingeschränkten Zugriff auf alle Hardwarefeatures. Das macht sich vor allem bei rechenintensiven Anwendungen wie z.B. Augmented Reality Apps schnell bemerkbar.
Der grosse Nachteil der nativen Appentwicklung sind die vergleichsweise hohen Kosten in der Entwicklung, da die ganze Arbeit sozusagen zweimal gemacht werden muss.
Cross-Plattform Appentwicklung
Wer sich für die Appentwicklung mit einer Crossplattform-Lösung entscheidet, wird vor die Wahl gestellt, welches Framework eingesetzt werden soll. Die drei grossen Player sind:
-
Flutter von Google, Open Source, Programmiersprache: Dart
-
React Native von Meta, Open Source, Programmiersprache: JavaScript
-
Kotlin Multiplatform von JetBrains, Open Source, Programmiersprache: Kotlin
Alle drei Frameworks haben ihre eigenen Vor- und Nachteile. Sie haben gemeinsam, dass der Code (teilweise bis vollständig) geteilt wird und nicht für Android und iOS separat entwickelt werden muss. Das spart Kosten und macht die Entwicklung effizienter.
Je nach Anwendung macht das eine oder andere Framework mehr oder weniger Sinn. Am wenigsten Abstriche bei der User Experience und Performance macht man mit der Wahl von Kotlin Multiplatform. Denn KMP teilt die Codebasis zwischen der Android und der iOS App, um Netzwerke, Datenspeicherung und Datenvalidierung, Analysen, Berechnungen und andere Anwendungslogik zu implementieren. Das User Interface hingegen wird in KMP-Projekten pro Plattform nativ entwickelt.
Dafür sind Appprojekte, die mit Flutter oder React Native entwickelt werden verhältnismässig günstiger und schneller entwickelt, da sie grösstenteils auch den Code für das Interface teilen.
Was macht für Ihr Projekt am meisten Sinn?
Lassen Sie sich von uns über die Wahl der Technologie beraten. Wir entwickeln seit 14 Jahren Apps und haben schon mit allen Technologien gearbeitet und wissen darum, was für welches Projekt am besten taugt. Kontaktieren Sie uns für einen unverbindlichen Austausch über die geeignete Technologie für Ihr Appprojekt.
Erfahren Sie mehr über die im Beitrag erwähnten Technologien: