Entscheidet man sich, eine App zu entwickeln, steht ganz zu Beginn der Entwicklung ein Technologie-Entscheid an. Will man seine Apps komplett nativ entwickeln, kann eine Web-App die heutigen und zukünftigen Anforderungen abdecken oder ist gar eine hybride App die Lösung? Wie zeigen die verschiedenen App Technologien im Überblick.
Native-Apps und Web-Apps – was sind die Unterschiede?
Entwickelt man eine Mobile-App für Endnutzer entscheidet man sich heute meistens für die Unterstützung der beiden Betriebssysteme Android sowie iOS von Apple. Diese beiden Betriebssysteme nutzen heute fast 100% der Smartphone-Nutzer weltweit, andere Betriebssysteme wie Windows Mobile oder Symbian sind weitgehend verschwunden.
Native Apps werden spezifisch für das entsprechende Betriebssystem entwickelt. Dabei setzt Android auf Java, während bei Apple die eigene und proprietäre Programmiersprache Swift zum Einsatz kommt. Diese beiden Programmiersprachen sind so unterschiedlich, dass eine spezifisch für Android entwickelte App nicht einfach auf Apple’s iOS portiert werden kann und umgekehrt.
Im Gegenzug zu nativen Apps werden Web-Apps nicht für ein bestimmtes Betriebssystem entwickelt sondern sie werden so entwickelt, dass sie in einem Browser (Chrome, Safari, Firefox, usw.) ausgeführt werden können. Die zentrale Programmiersprache ist dabei HTML, es können jedoch auch weitere im Web verbreitete Programmiersprachen eingesetzt werden wie z.B. Javascript und PHP. Die Ausführung der App geschieht nicht wie bei nativen Apps direkt durch das Betriebssystem sondern es wird immer ein Browser zur Ausführung verwendet.
Vorteile und Nachteile von nativen Apps
Die beschriebenen App Technologien bieten natürlich auch ihre Vor- und Nachteile, so auch die Entwicklung von nativen Apps. Der grösste Vorteil ist sicherlich, dass die App spezifisch für das entsprechende Betriebssystem entwickelt wurde und somit bestimmte vom Betriebssystem mitgegebene Vorteile nutzen können. So gibt es beispielsweise für Android gewisse vom Betriebssystem mitgegebene Standards, wie Animationen – beispielsweise bei einem Screen-Wechsel – umgesetzt werden sollen. Diese können bei nativen Apps ganz einfach über die Einbindung einer Library implementiert werden.
Eine native App erlaubt zudem den Zugriff auf sämtliche Hardware-Komponenten, sofern dies vom Betriebssystem-Hersteller nicht blockiert wurde. So können Android-Apps auf den NFC Chip zugreifen, während Apple dies nur eingeschränkt tolleriert. Auch der Zugriff auf andere Hardware-Schnittstellen wie z.B. Bluetooth, den Fingerabdruck-Sensor, die Kamera oder das Gyroskop ist mit nativen Apps sehr einfach, während Web-Apps auf die meisten dieser Hardware-Komponenten nicht zugreifen dürfen. Auch wenn man die App Offline-Fähig gestalten möchte, bietet sich eher eine native App an. Der benötigte Code zur Ausführung der App wird dann initial bei der Installation heruntergeladen. Zwar gibt es auch bei Web-Apps heute die Möglichkeit, diese beschränkt Offline-Fähig zu programmieren, in der Praxis ist dies dann aber meistens fehleranfällig und fühlt sich insbesondere bei komplexen Apps auch weniger flüssig an als bei einer nativen App.
Mitunter der grösste Vorteil einer nativen App gegenüber einer Web-App: sie kann durch den Entwickler im App-Store bzw. bei Google Play veröffentlicht und durch die Nutzer dort heruntergeladen werden. Nach dem Download hat der Nutzer das App-Icon auf dem Desktop und sie bleibt ihm so im Blickfeld (was zu regelmässiger Nutzung anregen kann). Zwar kann man sich auch eine Web-App als Lesezeichen auf dem Desktop ablegen. Der Prozess dazu ist jedoch komplizierter und die meisten Nutzer kennen diesen nicht.
Während Webapps auf Android heute bereits Push-Notifications unterstützen, ist dies bei Apple auch unter iOS 12 nach wie vor nicht möglich. Apple schützt mit der nur sehr zögerlichen Unterstützung von Web-Apps sein Geschäftsmodell, das im wesentlichen auch darauf basiert, dass Apps aus dem App-Store heruntergeladen werden sollen, um so Einnahmen aus dem In-App Payment zu generieren.
Und was ist nun eine Hybrid-App?
Hybrid-Apps verbinden die Vorteile der beiden Technologien in sich. Meistens bestehen sie aus einem grossen Teil, der als Web-App entwickelt wurde und der dann in Containern – einer sogenannten Webview – innerhalb der App dargestellt wird. Die Webview ist dabei nichts anderes als ein in der App integrierter Browser, der die Web-App ausführt und darstellt. In der Hybrid-App werden nur noch diejenigen Funktionalitäten nativ programmiert, die einen Vorteil aus der nativen Entwicklung ziehen. Dazu gehören beispielsweise der Zugriff auf die Hardware oder die weiter oben bereits erwähnten Push-Notifications.
Beispiele gefällig?
Ein klassisches Beispiel für eine native App ist WhatsApp sowie die meisten anderen Messenger. Es gibt auch zentrale Gründe, wieso bei Messenger-Apps oft auf native App-Entwicklung gesetzt wird: In ihnen sollen grosse Datenmengen (der gesamte Chat-Verlauf mit Bildern, Videos, usw.) offline auf dem Gerät gespeichert werden und für den Nutzer so möglichst rasch zugänglich sein. Auch viele Spiele sind mehrheitlich nativ programmiert – mal abgesehen von den Werbeanzeigen, die natürlich dann wiederum über das Web bezogen werden.
Die meisten Tageszeitungen setzen heute auf eine Kombination aus Web-App und Hybrid-App. Für sie ist die Web-App ein zentrales Element, denn die Inhalte aus der Web-App werden einerseits von den Suchmaschinen indiziert, andererseits konsumieren viele Kunden News auch nachwievor noch über den Desktop-Computer. Gleichzeitig wollen sie auch eine gewisse Präsenz auf dem Smartphone des Nutzers sicherstellen und ihm regelmässig die Breaking News per Push-Notification zukommen lassen. Deshalb setzen die meisten Medien in den App-Stores auf eine Hybrid-App, die genau diese Funktionalitäten anbietet, gleichzeitig aber den grössten Teil der Inhalte als Webview darstellen.
Und auf welche App Technologien soll ich nun setzen?
Diese Frage lässt sich nicht pauschal beantworten. Je nach Anforderungen an die App macht es mehr Sinn, auf sich einen nativen, einen hybriden oder einen reinen Web-Ansatz zu fokussieren. Generell kann man sagen, dass die Kosten für eine native App am höchsten sind, da die Inhalte für jedes Betriebssystem einzeln entwickelt werden müssen. Der Trend geht deshalb heute klar hin zu hybriden Apps und Web-Apps, die in der Entwicklung und entsprechend auch im Unterhalt weniger hohe Kosten verursachen. Gerade wenn jedoch Funktionalitäten wie die Offline-Verfügbarkeit eine zentrale Anforderung darstellen, können native Apps jedoch nach wie vor Sinn machen.
Um einen Überblick über die Entwicklungskosten zu erhalten, bietet sich unser App-Rechner an. In diesem können Sie auch konfigurieren, welche Technologie aus Ihrer Sicht am besten passt und können somit die Auswirkungen auf die Entwicklungskosten besser abschätzen. Gerne beraten wir Sie selbstverständlich auch persönlich bei Ihrem Vorhaben.