Aus technischer Perspektive kann man bekanntermaßen folgende Arten von Apps unterscheiden: native Apps, Web Apps, hybride Apps.

Native Apps werden exklusiv für das Zielsystem, d.h. Android oder iOS erstellt. Man nutzt direkt die API der Systeme. Die Benutzeroberfläche fügt sich exakt in die Vorgaben der Plattform ein und auch die Benutzerführung ist mit der Systemumgebung kompatibel. Nutzer müssen sich also nicht erst länger orientieren, d.h. sie sind mit den üblichen Vorgängen, wie die Auswahl bzw. das Löschen von Elementen oder das Wechseln zwischen den Screens einer Anwendung sofort vertraut. Ein weiterer wichtiger Vorteil besteht darin, dass native Apps keine Einschränkungen beim Zugriff auf mögliche spezifische Gerätehardware des Smartphones oder Tablets aufweisen. Alle Sensoren dieser Geräte können direkt angesprochen werden. Auch werden die Funktionen von neuen Geräten vollständig unterstützt und können damit in der eigenen App verwendet werden. Das Deployment erfolgt über die Apps Stores. Ist eine native App installiert, kann diese – sofern sinnvoll – auch ohne Internetzugriff ausgeführt werden, d.h. ein Offline-Betrieb ist möglich. Eine notwendige Datensynchronisation kann beim Herstellen der nächsten Online-Verbindung des mobilen Gerätes automatisch stattfinden.

Web Apps sind dagegen auf die mobilen Devices ausgerichtete Web-Applikationen. Das betrifft primär die Gestaltung des User Interfaces. Der Zugriff auf die Systemhardware ist eingeschränkt. Einige Basisfunktionen, wie zum Beispiel die Ortung via GPS sind jedoch möglich. Eine Bereitstellung über die Stores ist nicht möglich. Sie laufen auf dem Server und benötigen daher eine stetige Internetverbindung. Jedoch kann man ein Icon auf dem Home Screen einrichten, so dass die Nutzer keine Hürden beim Start der App haben. Web Apps können aus Kundensicht immer dann eine Alternative sein, wenn man dem Nutzer eine Installation nicht zumuten möchte (zusätzlicher Aufwand) bzw. eine Version der Applikation für größere Devices (Desktop) besteht und diese an die mobilen Geräte angepasst werden soll. Ein Beispiel ist der Einsatz einer App für Zwecke des Marketings am Point of Sale. Ein QR-Code für den korrekten Link zur Internetadresse ist schneller gescannt als der Umweg zur Installation über den App Store. Das gilt gerade dann, wenn die Kunden die App voraussichtlich nur für eine sehr kurze Zeit nutzen werden. Die fehlende Offline-Fähigkeit kann durch den Ansatz der Progressive Web App (PWA) teilweise beseitigt werden. Eine PWA ist eine Symbiose aus einer Webseite und einer App. Mittels eines Service Workers kann eine Caching-Funktion umgesetzt werden. Dieser Service Worker ist zwischen dem Webserver und der App auf dem mobilen Gerät geschalten.

Hybride Apps basieren intern auf Web-Technologien. Die Web App wird in einer Art eingebetteten Webbrowser ausgeführt. Sie laufen in einem Sandkasten, worüber die Plattformunabhängigkeit erreicht wird. Über Plugins gelingt es aus dem Sandkasten „auszubrechen“ und auf die notwendigen Systemfunktionen der jeweiligen Plattform zuzugreifen. Das System glaubt daher eine native App vor sich zu haben (interner Browser) und die eigentliche App wird als Web Applikation ausgeführt. An dieser Stelle können wir bereits zusammenfassen, dass sowohl Web Apps als auch hybride Apps auf beide Systeme simultan abzielen. Sie weisen jedoch einige Nachteile gegenüber den nativen Apps auf. Daher versucht man seit langen beide Vorteile miteinander zu verknüpfen. Es führt uns zu den Cross Plattform-Ansätzen.

Das Ziel von Cross-Plattform ist stets dem nativen Vorbild möglichst nahe zu kommen, beispielsweise mit Blick auf die Performance der App. Alle Ansätze versuchen dabei aus einer gemeinsamen Quellcodebasis ein möglichst generisches Anwendungsgerüst, nach Möglichkeit über alle Ebenen der der App, d.h. vom User Interface bis zur Datenhaltung, zu verwenden. Die Umsetzung in eine App für das Zielsystem passiert dann weitgehend automatisch. Sie unterscheiden sich vielfältig, beispielsweise in der Art und Weise der Programmierung, der verwendeten Programmiersprache und den Build-Prozess. Auch der Einsatz der Werkzeuge ist sehr unterschiedlich.

Die Vor- und Nachteile der einzelnen App-Arten sind in Abbildung 1 zusammengefasst. Die Cross Plattform-App haben wir hier nicht erwähnt, da „Cross-Plattform“ hier eher eine Vorgehensweise, statt eine Technologie im Sinne einer App-Art ist.

Vor- und Nachteile der einzelnen App-Arten. Idee nach
Vor- und Nachteile der einzelnen App-Arten. Idee nach [1]

Literatur und Links

[1] https://clearbridgemobile.com/mobile-app-development-native-vs-web-vs-hybrid/