img

Apps programmieren: Native App vs. Cross Platform App und wann Ihnen Flutter und Co. helfen

Die verschiedenen App Arten entwickeln sich fortlaufend weiter. Native Apps erhalten Konkurrenz von neuen Technologien. Aber welche App Typen gibt es aktuell und wann eignen sie sich für Ihr App Projekt?

In diesem Beitrag erhalten Sie Antworten auf die folgenden Fragen:

  • Was sind Native Apps und wie unterscheiden Sie sich von Cross Platform Technologien?
  • Warum interessiert mich diese Frage für mein App-Projekt überhaupt?
  • Flutter, React Native, Xamarin: Welche Technologie hat die Nase vorne?


Lange waren Native Apps das Mittel der Wahl, wenn es um die Entwicklung von leistungsstarken Anwendungen mit individuellen Features ging. Als Native Apps werden Anwendungen bezeichnet, die speziell für das Betriebssystem des jeweiligen Endgerätes (iOS, Android) entwickelt werden. Der Hintergrund: Jedes Betriebssystem besitzt eine eigene "Muttersprache", die es spricht und versteht. Native Apps sprechen jeweils die Muttersprache eines Betriebssystems und können so voll in das Betriebssystem integriert werden. Diese Spezialisierung sorgt dafür, dass die Anwendung einwandfrei auf die Hardware (Kamera, Standort, Mikrofon etc.) zugreifen und mit dem Smartphone als eine Einheit funktionieren kann. In Sachen User Experience und Performance sind Native Apps deshalb unangefochtene Spitzenreiter. Sie fühlen sich super an und machen Spaß. Das liegt am nativen User Interface: die Benutzeroberfläche. Sie ist das, womit der Endnutzer in Berührung kommt und die Schnittstelle zwischen Endgerät und Mensch. Sie reagiert schnell und flüssig auf Benutzereingaben. In diesem Fall ist es ein bisschen wie mit warmem Wasser in der Dusche: Erst, wenn es fehlt, fällt es auf – und zwar negativ.

Eine Native App kann im Store geladen und auf dem Smartphone oder Tablet installiert werden. Dort funktioniert sie auch ohne Internetverbindung. Sinnvoll ist die Native App-Entwicklung besonders für komplexe Projekte mit einer aufwendigen Benutzeroberfläche, die uneingeschränkten Zugriff auf die Hardware benötigen.

Nicht immer wird dieser volle Funktionsumfang benötigt. Dann ist zu überlegen, ob sich die Entwicklung einer nativen App rentiert. Denn so viele Vorteile es mit sich bringt, dass Native Apps speziell für ein Betriebssystem gemacht sind: Wer seine Zielgruppe voll umfänglich erreichen möchte, muss gleichermaßen auf Android und auf iOS setzen. Beide Anbieter haben einen so hohen Marktanteil, dass Sie keines davon bei der App Entwicklung übergehen können.

Native Apps: den Aufwand abwägen

Daraus folgt: Sie benötigen eine App, die sowohl auf iOS als auch auf Android läuft. Im Fall einer nativen App Entwicklung hieße das: Für jede Plattform muss ein individueller Code geschrieben werden, damit die Hardware die App versteht und eine native Performance möglich ist. Das führt in der Entwicklung und in der späteren Pflege zu einem höheren Aufwand und entsprechend zu steigenden Kosten, da die Arbeit für jede der Plattformen einzeln wiederholt werden muss. Sie müssen abwägen, ob dieser Aufwand im Verhältnis zu den Anforderungen an die App steht. Ist dies nicht der Fall, können Sie folgende Alternativen für Ihr App Projekt in Betracht ziehen.

Sie wollen wissen, welches App Format sich für Ihr Projekt eignet?

Die Antwort erhalten Sie in unserem aktuellen App-Formate-Leitfaden!

Hier finden Sie alle Infos in Kürze, inklusive Checkliste und Vergleich.

Was sind Cross Platform Technologien?

Eine immer beliebter werdende Option sind Cross Platform Technologien. Das bedeutet, die App funktioniert unabhängig von der Plattform, weil sie in einer einheitlichen Sprache für alle Betriebssysteme entwickelt wird. Teile des Codes können wiederverwendet werden, sodass nicht für jedes Betriebssystem ein komplett neuer Code geschrieben werden muss. Die fertigen Apps haben eine Art kleinen Simultanübersetzer dabei, der zwischen der einheitlichen Sprache und der jeweiligen Muttersprache übersetzt. Zudem können sie die meisten nativen Features, wie Push Nachrichten und GPS-Funktionen ausführen. Die gestiegene Leistungsfähigkeit der Smartphones in den letzten Jahren hat dafür gesorgt, dass sich Cross Platform Anwendungen heute so flüssig und schnell anfühlen können, wie Native Apps. Der Nutzer nimmt in vielen Fällen keinen Unterschied mehr wahr. Wie Cross Platform Technologien funktionieren und wann Sie bedenkenlos damit arbeiten können, lesen Sie im folgenden Abschnitt.

Progressive Web Apps

Es gibt verschiedene Varianten, plattformunabhängige Apps zu entwickeln. Der Trend geht zunehmend in Richtung der Progressive Web Apps (PWA). Eine PWA ist eine Website im App-Mantel. Neben Offline-Funktionen bietet sie auch weitere Features, die zuvor nur bei nativen Apps zu finden waren, wie etwa Push Notifications. PWAs werden mit HTML5 und Javascript geschrieben. Sie sind kostengünstiger in der Entwicklung als Native Apps, da nur ein Code für alle Plattformen geschrieben wird. Doch wie erhält die Website ihren App-Mantel? Ein sogenannter Service Worker sorgt dafür, dass die Website durch bestimmte Caching Funktionen auch offline verfügbar bleibt und bei Aufruf schneller startet. Bei dem Service Worker handelt sich um eine spezielle Komponente, mit der ein Browser Skripte im Hintergrund ausführen kann. Im grundlegenden Aufbau ist die Progressive Web App also eine Website, die einen Rucksack mit sich trägt. In diesem Rucksack befinden sich alle relevanten Informationen, basierend auf HTML5 und JavaScript und die Zielplattformen. Erst die Informationen im Rucksack machen die App voll funktionsfähig – auch offline. Der Browser des Mobilgerätes, also meistens Chrome oder Safari, stellt über Schnittstellen zahlreiche Funktionen für PWAs zur Verfügung, die früher nativen Apps vorbehalten waren. So ist beispielsweise der Zugriff auf die Kamera des Gerätes möglich. Wenn Ihre App also einen QR-Code-Scanner braucht, gibt es eine reichhaltige Auswahl an Javascript-Bibliotheken, die diese Funktionen beisteuern. PWAs werden über die Website des jeweiligen Anbieters dem Homescreen hinzugefügt. So umgehen Sie die Restriktionen der App Stores, die unter Umständen hohe Provisionssätze verlangen.

Wann sollten Sie mit PWAs arbeiten?

Wenn bereits eine Web Applikation, wie zum Beispiel eine Website besteht, kann daraus die Progressive Web App generiert werden. Wichtig ist, dass die Offline Funktionalität durch den Service Worker gegeben ist. Zudem sollte die PWA nur Hardwarefeatures verwenden, die auch durch sämtliche Betriebssysteme angesteuert werden können. In einigen Fällen sind Android und iOS nicht auf dem gleichen Stand. Das kann zur Folge haben, dass die PWA die Kamera von Android Geräten einwandfrei ansteuern kann, während iPhones damit Probleme haben oder umgekehrt. Ziehen Sie für eine detaillierte Betrachtung unbedingt einen Experten hinzu!

Die Native App als Mittel der Wahl wird die PWA nicht ablösen. Wer bereits eine Native App anbietet, wird kaum Geld in einen Umstieg investieren wollen. Auch die Macht der App Stores spielt eine entscheidende Rolle. Vielen Nutzern ist noch nicht bewusst, dass sie Apps auch an anderen Orten als dem Store erhalten können. Die Progressive Web App wird deshalb vorerst nur eine kostengünstige Alternative zur nativen App bleiben.

Flutter vs. React Native vs. Xamarin

Neben der Entwicklung mit HTML 5 gibt es für die Entwicklung plattformunabhängiger Apps mittlerweile auch eigene Frameworks. Die Platzhirsche sind Flutter, React Native und Xamarin. Mit Ihnen lassen sich Apps entwickeln, die mit nur einer Codebasis auf mehreren Plattformen funktionieren. Erst wenn man sehr spezielle Funktionen der jeweiligen Plattform benötigt, muss man zu Plugins greifen, die den Zugriff auf spezielle native Funktionen aus dem allgemeinen App-Code heraus ermöglichen. Diese Plugins entstehen in großen Entwickler-Communities und werden dort gepflegt und aktuell gehalten, sodass die Apps auch dann noch einwandfrei funktionieren, wenn Betriebssysteme große Updates durchlaufen.

Die Zukunft von Xamarin

In Entwicklerkreisen gilt das Framework bereits als Schnee von vorvorgestern: Seit dem Kauf durch Microsoft ist die Weiterentwicklung von Xamarin leider deutlich hinter die Konkurrenz zurück gefallen. Angesichts der Xamarin Alternativen wenig verwunderlich: Das Bauen der Anwendung ist mittlerweile mit weniger Zeitaufwand und kürzeren Feedbackschleifen möglich, als Xamarin es bieten kann. Flutter und React Native trumpfen zudem mit einer größeren Anzahl an Features. Dadurch ist Xamarin vor allem dann noch eine sinnvolle Option, wenn die verwendete Sprache C# wichtig ist, weil Sie bspw. schon viel Code in C# haben, den Sie in der App wiederverwenden wollen.

Warum React Native?

React Native wurde 2015 von Facebook gestartet. Insbesondere Entwickler, die mit der JavaScript-Softwarebibliothek React vertraut sind, können leicht in die Entwicklung mit React Native einsteigen. Mit dem Framework Expo können sie außerdem die Business Logik zwischen React und React Native Applikationen teilen. Das Framework unterliegt jedoch stetiger Veränderung und ist daher immer mit Unsicherheiten verbunden.

Was macht Flutter so beliebt?

Flutter, 2017 von Google veröffentlicht, gilt als besonders zukunftsträchtig, da es mit Dart auf derselben Sprache basiert, in welcher auch die Anwendungen des neuen Google Betriebssystems Fuchsia OS entwickelt werden sollen. Das Ziel von Fuchsia ist, sich als Betriebssystem für Geräte und Produkte in geschäftskritischen Anwendungen zu etablieren. Der entscheidende Vorteil von Flutter ist der starke Support durch die Entwickler-Community. Mit Google im Rücken, fließt hier geballtes Know-How in die Entwicklung qualitativ hochwertiger Plugins. Das Framework ist zudem sehr stabil, was seine Verlässlichkeit im Gegensatz zu React Native erhöht.

Was bei Cross Platform Apps zu beachten ist

  1. Die initiale Entwicklung von Cross Platform Apps verläuft schneller, als bei nativen Apps. Um schnell Ergebnisse, zum Beispiel in Form von Prototypen zu erzielen, ist diese Option deshalb gut geeignet. Dafür kann sich der Aufwand für Wartung und Support erhöhen. Stellen Sie sich deshalb zu Beginn die Frage, wie schnell sie die App auf den Markt bringen möchten.

  2. Wie auch bei nativen Apps werden Cross Platform Anwendungen nicht von Betriebssystem Updates verschont. Entsprechend müssen Google, Facebook und Co. ihre Frameworks an die neuen Verhältnisse anpassen. Genauso bedürfen auch die Plugins in den Entwickler-Communities einer Aktualisierung. Da nicht jedes Community-Mitglied gleichzeitig seine Updates veröffentlicht, kann das zu Kompatibilitätsproblemen der Plugins und damit höheren Wartungskosten führen. Zu den Communities gehören Entwickler, die den Plugins ihre Freizeit widmen, Unternehmen, die Open-Source Bibliotheken unterstützen, sowie der First-Party Support von Plugins großer Unternehmen. So betreut Google seine Firebase Plugins bei Flutter selbst. Steht hinter dem Plugin ein einzelner Entwickler, könnte er die Lust daran verlieren, dies in seiner Freizeit zu tun oder aus Zeitgründen den Support einstellen. Steht hingegen ein Unternehmen dahinter, ist die Wahrscheinlichkeit größer, dass das Plugin längerfristig unterstützt wird.
  3. Achten Sie im Voraus darauf, dass die nötigen Plugins auch für alle Betriebssysteme vorhanden sind, die Sie mit Ihrer Cross Platform App bespielen möchten. Für viele Hardwareschnittstellen gibt es bereits einwandfreie Plugins. Genügen diese Ihren Ansprüchen und Wünschen, spricht das für die Entwicklung mit Cross Platform Technologien.

Sind Cross Platform Anwendungen eine Konkurrenz für Native Apps?

Nun haben Sie die wesentlichen Bauweisen moderner mobile Apps kennengelernt. Und Sie sehen: Jedes Werkzeug hat seine Berechtigung, es passt eben nicht immer der goldene Hammer, nur weil man ihn gerade dabei hat. Manchmal reicht ein Kreuzschlitz.

Es gibt Anwendungsbereiche, die eine native Entwicklung erfordern. Gleichzeitig spricht oft auch Vieles für die Entwicklung mit Cross Platform Technologien. Wer eine App möchte, die komplexe Projekte handhaben kann und in Sachen Performance alles in den Schatten stellt, ist nativ unterwegs. Wer hingegen eine App möchte, die plattformunabhängig ist und wer einen schnellen Proof-of-Concept der Anwendung benötigt, ist mit einer Cross Plattform Anwendung besser beraten. Doch welche Bauart es werden soll, hängt immer vom Zweck der App ab. Reale Aspekte wie Kosten, eventuell benötigte Plugins, Zeit und Ziel einer App spielen ebenso eine bedeutende Rolle in der Welt der Entscheidungen, wie bahnbrechende Wünsche und Visionen. Letztendlich bleibt die Entscheidung immer eine individuelle Abschätzung.

Auch gibt es keinen ultimativen Sieger, denn jede der oben vorgestellten Bauweisen verfügt über Vor- und Nachteile - je nachdem, welchen Zweck die App haben soll. Stellen Sie sich deshalb zu Beginn der App Entwicklung folgende Fragen:

  • Wie schnell soll Ihre App gelauncht werden?
  • Welche Ansprüche haben Sie und Ihre Benutzer an Ihr App-Projekt?
  • Soll die App ein unabdingbarer, integraler Bestandteil des Alltags werden oder geht es eher um gelegentliche Anwendungsfälle?
  • Wie hoch ist das Budget für die App Entwicklung?
  • Auf welche Technologie setzt die Konkurrenz?
  • Und vor allem: Welchen Zweck verfolgt Ihr Projekt?

Es gibt keine hundertprozentige-pauschale-Antwort, wie eine App entwickelt wird. Letztlich kommt es auf die Wünsche des Kunden an und was wirtschaftlich Sinn ergibt. In den finalen Entscheidungsprozess spielen viele Faktoren mit ein. Wir helfen bei der Entscheidungsfindung! Rufen Sie einfach mal an oder schreiben Sie eine Mail. Für den schnellen Check finden Sie hier außerdem unseren neuen PDF-Leitfaden. Einfach klicken und herunterladen!

Sie wollen wissen, welches App Format sich für Ihr Projekt eignet?

Die Antwort erhalten Sie in unserem aktuellen App-Formate-Leitfaden!

Hier finden Sie alle Infos in Kürze, inklusive Checkliste und Vergleich.

Weiterempfehlen:
Diskutieren:
Unser kleines Geschenk:
Incloud Ping

Update gefällig?

Mit dem Incloud Ping erhalten Sie jeden Monat kleine Aha-Momente rund um die relevantesten digitalen Themen.

Ihre Zeit ist wertvoll, wir nutzen sie produktiv. Versprochen.

Jetzt abonnieren! Spannend, gratis & jederzeit abmeldbar. Was gibt es da schon zu verlieren?