Die passgenaue mobile Lösung für Ihr Projekt
Unser ständiger Freund und Helfer ist schon seit langem das Smartphone in unserer Hand. Vor allem die darauf installierten Apps erleichtern unseren Alltag. Dabei machen wir uns keine Gedanken darüber, ob diese als native, hybride oder Web-Apps aufgebaut sind. Aber ist App wirklich gleich App?

Gerade für Unternehmen ist es wichtig, die Unterschiede zwischen den verschiedenen Bauarten verstehen und nachvollziehen zu können. Ziel ist es, dem Nutzer immer eine optimale Leistung und Usability zu bieten. Je nach Anforderung sind entweder native Apps oder Web-Apps die bessere Wahl.
Auf dem Weg zur eigenen App gibt es deshalb häufig folgende Fragen:
Was sind native, hybride und Web-Apps?
Worin liegen die Unterschiede zwischen den Technologien?
Welche Bauart ist für welche Art von App geeignet?
Gibt es einen eindeutigen Sieger?
Was sind native, hybride und Web-Apps?
Native Apps
Als native Apps bezeichnet man Anwendungen, die speziell für ein mobiles Betriebssystem entworfen und entwickelt werden und in der Regel auch nur auf der Zielplattform laufen. Bspw. kann eine für iOS nativ entwickelte App nicht unter Android verwendet werden. Sie sind für den End-Nutzer in den App-Stores der jeweiligen Plattform erhältlich.
Native Apps haben Zugriff auf alle vom Hersteller freigegebenen und gepflegten Features der Plattform über Software Development Kits (SDKs). Zu den Features gehören bspw. plattformspezifische UI-Elemente, Augmented Reality, GPS, Kamera oder der Zugriff auf andere Sensoren des Endgeräts.
Apple und Google verwenden und unterstützen für ihre SDKs jeweils unterschiedliche Programmiersprachen und die SDKs sind zueinander nicht kompatibel. Daher muss der Code einer nativen App für jede Plattform individuell entwickelt werden. Möchte man also über diesen Ansatz eine App für beide Plattformen entwickeln, so hat man keine gemeinsame Codebasis. Es ist erforderlich, den Code von zwei Anwendungen zu entwickeln und zu pflegen, was sich in einem erhöhten Aufwand widerspiegelt.
Native Cross-Platform-Technologien wie React Native abstrahieren die plattformspezifischen SDKs der Hersteller und ermöglichen das Erzeugen von nativen Apps mit einer gemeinsamen Codebasis. Durch die zusätzliche Abstraktions-Schicht gibt es aber auch eine zusätzliche Abhängigkeit im Projekt, welche ihre eigenen Probleme mitbringt und regelmäßig vom Hersteller oder der Community gepflegt werden muss. Meist unterstützt diese Schicht auch nicht direkt den vollen Feature-Umfang der Plattformen.
Web-Apps
Als Web-App bezeichnet man Anwendungen, die mit Webtechnologien entwickelt und über einen Browser auf dem Endgerät dargestellt und verwendet werden. Für das mobile Umfeld werden Web-Apps normalerweise über ein Responsive Design angepasst, so dass die Benutzeroberfläche auch auf mobilen Endgeräten gut bedienbar ist. Oftmals werden mobile Web-Apps auch als Single-Page Applications (SPA) entworfen. Das Benutzerinterface und die Inhalte werden dabei generell von einem Webserver über eine Internetverbindung ausgeliefert. Schlechte Internetverbindungen führen deshalb normalerweise dazu, dass Web-Apps dann kaum verwendbar sind.
Da jedoch auf jedem mobilen Endgerät in der Regel ein Web-Browser zur Verfügung steht, sind diese Lösungen praktisch auch auf allen Plattformen lauffähig.
Hybride Apps
Eine dritte Variante sind die sogenannten hybriden Apps, die versuchen, die Vorteile aus beiden Welten zu vereinen. Hierbei wird eine Webseite in einen nativen App-Container eingebettet, wobei der native Teil und der webbasierte Teil der Anwendung über Schnittstellen miteinander kommunizieren. Der native Teil der App muss analog einer nativen App entwickelt oder erzeugt werden, der webbasierte Teil mit Web-Technologien. Über Schnittstellen kann der webbasierte Teil der Anwendung dabei auf die plattformspezifischen Features des nativen Teils zugreifen.
Analog zu nativen Apps werden hybride Apps über die App-Stores der Plattformen verteilt.
Worin liegen die Unterschiede zwischen einer nativen und einer Web-App?
Zieht man einen technischen Vergleich, werden bereits bei den Voraussetzungen enorme Unterschiede deutlich: Während native und hybride Apps nur auf den Betriebssystemen jener Endgeräte laufen, für die die App entwickelt wurden, funktioniert eine Web-App prinzipiell auf allen internetfähigen Geräten mit einem Web-Browser.
Schon die Verteilung von nativen Apps und Web-Apps unterscheidet sich wesentlich: Native Apps werden i.d.R. über App-Stores verteilt und Aktualisierungen müssen auch über diese verfügbar gemacht werden. Bei Web-Apps dagegen entfällt dieser Teil und die Verbreitung findet wie bei jeder normalen Webseite statt. Updates können ebenfalls wie bei jeder Webseite ausgespielt und verfügbar gemacht werden, die Notwendigkeit von für den Nutzer sichtbaren Update-Versionen entfällt hier.
Auch bei der Datenspeicherung und Offline-Verfügbarkeit gibt es große Unterschiede zwischen den Ansätzen: Während eine native App bei der Datenspeicherung praktisch nur durch das Endgerät limitiert wird, sind Web-Apps durch die Browser, in denen sie laufen, eingeschränkt. Des Weiteren müssen Web-Apps wenigstens einmal vollständig geladen sein, um auch im Offline-Modus zu funktionieren.
Einer der größten technologischen Unterschiede zwischen den Ansätzen ist die Nutzbarkeit der Hardware- und Plattform-Features. Native Apps können hier üblicherweise aus dem Vollen schöpfen und Funktionen wie Push-Benachrichtigungen, GPS, Kamera, Gyroskop, Bluetooth und Augmented Reality problemlos nutzen. Bei Web-Apps ist man dagegen auf die Funktionen beschränkt, die die Webbrowser oder die Web-Engines über Standards wie HTML5 zur Verfügung stellen.
Auch beim Thema Monetarisierung gibt es enorme Unterschiede: Bei nativen Apps können Einnahmen sowohl direkt über die App-Stores, als auch über In-App-Purchases erzielt werden. Bei Web-Apps findet die Monetarisierung meistens über Werbeeinblendungen oder durch den Verkauf von Produkten im Rahmen von E-Commerce-Lösungen statt.
Welche Bauart ist für welche Art von App geeignet?
Über die Frage, welche Bauart die richtige Wahl ist, sollte man sich frühzeitig Gedanken machen, da ein späterer Wechsel normalerweise nur mit hohen Aufwänden und Kosten möglich ist. Die Wahl der richtigen Technologie für das Projekt hilft, unnötige Entwicklungsaufwände und Risiken zu vermeiden und damit Kosten zu sparen.
Die richtige Frage ist nicht, welcher Ansatz generell der Beste ist, sondern welcher für die individuellen Anforderungen des Projekts und der Nutzer die optimale Wahl darstellt.
Das Nutzungsszenario ist dabei ein wichtiger Entscheidungsfaktor für die Wahl der passenden Bauart. Soll bspw. auf Gesundheitsdaten zugegriffen werden, wird der Zugriff auf GPS-Daten für eine Navigations-Lösung benötigt oder ist eine Kommunikation mit Bluetooth-Geräten erforderlich, so ist eine native App notwendig.
Hybride Apps sind dagegen in der Entwicklung oftmals kostengünstiger als rein native Apps, was ein entscheidender Faktor sein kann. Zum einen kann häufig auf Teile einer bereits existierenden responsiven Webseite zurückgegriffen werden, zum anderen kann für den webbasierten Teil eine gemeinsame Codebasis für alle Plattformen verwendet werden.
Nur wenn man die genauen Rahmenbedingungen an ein App-Projekt kennt, kann man am Ende die optimale Lösung finden.
Gibt es einen eindeutigen Sieger?
Jede der oben vorgestellten App-Varianten hat ihre Vor- und Nachteile.
Native Apps sind ganz klar im Vorteil in Sachen Usability, Performance und bei der Verwendung der Plattform-Funktionen. Durch ein plattformnahes Look & Feel finden sich Nutzer schnell zurecht und können sich auf das Wesentliche einer App konzentrieren. Die von Nutzern gelernte zentrale Verteilung und Installation über die App-Stores bietet ebenfalls signifikante Vorteile, auch bei der Monetarisierung, Abo-Modellen und dem App-Marketing. Dem gegenüber stehen meistens die Entwicklungskosten und das notwendige Know-how für die verschiedenen Plattformen.
Web-Apps hingegen funktionieren praktisch mit allen Betriebssystemen, auf allen Smartphones und haben eine größere Entwickler-Basis. Daher erreicht man mehr potentielle Nutzer mit einem geringeren Kostenaufwand. HTML5 ermöglicht zudem eine begrenzte Speicherung von Userdaten und somit die Nutzung einer einmal vollständig geladenen Web-App auch ohne Internetzugang. Trotzdem sind Web-Apps immer nur eingeschränkt offlinefähig. Da sie aber keinen Veröffentlichungs-Prozess von Apple oder Google durchlaufen müssen, können sie in Sekundenschnelle veröffentlicht und aktualisiert werden. Ein Nachteil ist jedoch der eingeschränkte Zugriff auf die Plattform-Features und die Benutzeroberfläche. Der Nutzer erkennt meist sehr schnell, dass nicht alles so reibungslos reagiert wie in einer nativen App. Das Preis-/ Leistungsverhältnis muss daher je nach Projekt individuell abgewogen werden.
Hybride Apps können auf den ersten Blick wie eine ideale Lösung wirken, da sie scheinbar die Vorteile aus der nativen und der webbasierten Welt vereinen. Die Entwicklungswerkzeuge und Frameworks von hybriden Apps bringen jedoch ihre eigenen Einschränkungen und Probleme mit sich und erfordern das Know-how beider Welten. Hybride Lösungen basieren meistens auf externen Frameworks, was zu den gleichen zuvor genannten Nachteilen wie bei nativen Cross-Platform-Technologien führt. Ab einem gewissen Komplexitätsgrad eines Projekts kann der rein native Ansatz daher kostengünstiger und zielführender sein.
Man merkt schnell, dass es auf die Frage nach einem Sieger keine einfache und eindeutige Antwort gibt. Viel eher kommt es auf die Wünsche des Kunden, die Anforderungen und die Rahmenbedingungen des Projekts an, sowie darauf, was wirtschaftlich am sinnvollsten ist. Erst durch die Abwägung dieser Punkte kann man beantworten, welche Sprache das Projekt spricht: nativ, hybrid oder web.