Anwendungen für mobile Geräte: Webanwendung vs. App
Neue Gerätetypen - neue Anforderungen
Mit der rasant wachsenden Zahl der Smartphone-Nutzer und der flächendeckenden Verfügbarkeit von mobilem Internet, stellt sich für alle Anbieter von Webcontent die Frage, welcher Inhalt mittels welcher Techniken zu welchen Kosten angeboten werden kann. Bisher war die Situation recht übersichtlich: dominierend waren PC oder Notebook mit Anwendungen beherrscht von Microsoft-Technologie sowie die immobile Internetnutzung.
Daraus ergaben sich automatisch bestimmte Eckpunkte für die Darstellung der Webinhalte:
- Statische Websites mit großflächig angelegten Informationen und vielen Informationsblöcken auf pro Seite.
- Dynamische Informationsverarbeitung durch Eingabe des Benutzers. Der Endbenutzer gibt die Parameter für Webanwendungen meist manuell ein.
- Video-Streaming und Animationen spielte bisher eine untergeordnete Rolle und wurde über das Adobe Flash Plugin angeboten.
Seit Mitte des Jahrzehnts erleben wir einen Paradigmenwechsel. Der PC findet sich nun eingeklemmt zwischen teils interaktiven TV-Geräten (inkl. WebTV) und mobilen Endgeräten wie Smartphones und Tablets. Dabei sinkt der Marktanteil des PC stetig im Verhältnis zu den neuen mobilen Geräten.
Hier zur Veranschaulichung eine Geräte-Übersicht:
Gerätetyp | Auflösung | Eingaben | Benutzerinteraktion |
TV | bis 7680x4800 = UHXGA | Programmwechsel | gering |
PC, Notebook | durchschnittlich 1600x1200 | meist manuell | hoch |
Tablet | 2048 x 1536 | manuell/automatisch | mittel |
Smartphone | |||
a) hohe Bildschirmauflösung | 1400x960 | manuell, über Komponenten (GPS,Kamera...) | mittel bis hoch |
b) mittlere Bildschirmauflösung | 800x600 | manuell, über Komponenten | mittel |
c) geringe Bildschirmauflösung | 640x480 | manuell, über Komponenten | niedrig |
Tabelle: Potenzielle internetfähige Anwendungsplattformen im Überblick
Durch die mobilen Endgeräte erweitern sich die Erfordernisse an Transport, Darstellung und Aufnahme von Inhalten. Das bedeutet, man benötigt:
- an Medien speziell angepasste statische Informationsausgaben.
- Medien spezifische interaktive, dynamische Inhalte.
- Informationen der Endgeräte als Parameter wie z.B. Standortkoordinaten, Neigung des Displays, Barcode-Scann u.v.m..
Mobile Inhalte können können über verschiedene Techniken verarbeitet werden. Es finden sich statische und halbdynamische Websites in verschiedenen Auflösungen, traditionelle Webseiten ohne dynamische Inhalte und Informationsseiten im Format HTML, die für unterschiedliche Endgerät in verschiedenen Auflösungen vorgehalten werden (CSS). Beim Ausliefern der Webseite kann im letzten Fall direkt die Auflösung des Zielgeräts berücksichtigt und die entsprechend gelayoutete Seite übertragen werden. Neue Techniken wie HTML5 machen Webseiten dynamisch und verdrängen Plugins wie Adobes Flash.
Spielt die Interaktion des Benutzers eine Rolle, kommt man als Inhaltsanbieter um die Erstellung von Anwendungen nicht herum. Im Angebot sind dabei Server seitige Webanwendungen und Apps (auf dem Endgerät) oder eine Mischung aus beiden, sogenannte Hybrid Apps. Stellt sich die Frage, welcher Typ von Anwendung für welchen Anwendungsfall benötigt wird und welche - auch langfristigen Kosten - dabei entstehen.
Webapplikationen (Web Apps):
Webapplikationen laufen im Webbrowser. Sie reagieren interaktiv auf Benutzereingaben. Berechnungen werden dabei teils vom Browser, zum Großteil aber Server seitig vorgenommen. Die Anwendung selbst wird auf einem Webserver installiert. Diese Anwendungen basieren auf traditionellen Webtechniken wie HTML, Javascript und CSS auf der Browser-Seite. Server seitig wird meist PHP, JAVA, C++ oder C# eingesetzt.
Wann und wofür werden Webanwendungen eingesetzt?
- Für einen schnellen Informationsaufruf.
- Um synchrone Interaktionen des Benutzers mit anderen Benutzern sicherzustellen.
- Wenn eine PC/Desktop-Anwendung vorhanden ist und man eine ähnliche Anwendung auch mobil verfügbar machen möchte. (Beispiel: Webmail)
- Wenn ein reines Offline-Arbeiten nicht benötigt wird (keine großen Datenblöcke auf dem Arbeitsplatz benötigt).
- Wenn vom Benutzer zu erwarten ist, dass eine zuverlässige Netzwerkanbindung vorhanden ist.
Vorteile von Webanwendungen
- Einfache Wartung, einfache Verteilbarkeit.
- Kompatibilität mit Betriebssystemen und Endgeräten.
- Große Anzahl von Entwicklern mit Web-Know-How.
Nachteile von Webanwendungen
- Eine gute Netzwerkverbindung ist nötig.
- Offline Arbeiten ist möglich aber schwierig umzusetzen. Eine spezielle Programmierung ist nötig, um Daten offline lokal vorzuhalten, wenn kein Netz vorhanden ist.
- Webanwendungen benötigen eine optimierte Benutzeroberfläche, um das Look and Feel einer Desktop-Anwendung 100% zu reproduzieren. Dies erhöht den Aufwand bei der Entwicklung der Anwendung.
"Native" Apps (z.B. für Google Android, Apple iOS, Windows Phone):
Diese Anwendungen werden Download bereitgestellt und auf einem mobilen Endgerät installiert. Native Apps werden für Gerätetypen und Betriebssysteme speziell programmiert und Plattform abhängig kompiliert. Verwendete Programmiersprachen sind dabei:
Google Android: JAVA (Achtung: Java-Code für Android wird speziell für die virtuelle Registermaschine "Dalvik" kompiliert)
Apple iOS: Objective C (Erweiterung von C um Smalltalk Elemente)
Microsoft Mobile: C#, Visual Basic
Wann und wofür werden native Apps eingesetzt?
Der Einsatz von Apps kann folgende Gründe haben:
Meist sollen größere Datenmengen auf dem Gerät des Benutzers gespeichert werden. Diese sollen direkt offline zur Verfügung stehen.
Eine Anwendung muss auf die Hardware oder lokal vorhandene Datensätze des Endgeräts zugreifen, z.B auf:
- Geokoordinaten des Engeräts (GPS)
- Fotokamera (auch als Barcode-Reader)
- Beschleunigungsmesser
- Neigungsmesser
- Kompass
- Lokale Adressbücher, Kalender u.ä.
Es werden intensiv Multimedia Funktionen wie z.B. Video inklusive schnellem Vor- und Zurückspulen benötigt.
Informationen zwischen mobilen Endgeräten sollen automatisch ausgetauscht werden (Peer to Peer = Endbenutzer zu Endbenutzer).
Vorteile von nativen Apps
- Benutzerfreundlichkeit. Die Reaktionszeiten auf Benutzereingaben sind relativ kurz.
- Einfaches speichern und verwenden von Offline-Daten ist möglich.
- Die Anwendung kann direkt auf Komponenten des Endgeräts wie Kamera u.ä. zugreifen.
- Animationen (2D/3D) in der Benutzeroberfläche sind einfach umzusetzen (Look and Feel).
Nachteile von native Apps
- Die Verteilung von Apps stellt Anbieter und Endbenutzer vor schon aus der Windows-PC-Welt bekannte Probleme.
- Pro Zielplattform müssen unterschiedliche Programmierungen vorgenommen werden. Es existiert aktuell keine Plattform unabhängige Programmierumgebung und Programmiersprache:
- Apps für Apple iOS: Objective C
- Apps für Google Android: Java
- Apps für Microsoft Mobile: C#, VB, Java
- Probleme mit dem Datenschutz: Durch den unmittelbaren Zugriff auf das Endgerät können persönliche Daten des Benutzers weitergeleitet werden.
- Durch die Ausnutzung von Sicherheitslöchern in Apps kann Schadsoftware (Viren, Trojaner u.v.m) auf die Geräte gelangen.
Hybride Apps
Hybride Apps sind eine Mischung aus Webapplikation und Native App. Dabei läuft eine Webapplication innerhalb einer nativen App. Das Styling der Webapplication ist dem nativen App stark angeglichen, sodass der Benutzer das Look and Feel einer auf seinem Endgerät installierten Anwendung hat.
Wann und wofür werden hybride Apps eingesetzt?
- Es gibt bereits eine Webapplikation, die schnell und einfach im Kontext eines mobilen Endgeräts zum Einsatz gebracht werden soll.
- Benutzern soll direkt per "one touch" Information angezeigt werden, ohne das aufwändig durch eine Seite navigiert werden muss.
- Es gibt viele existierende Webinhalte, die einfach auf ein mobiles Gerät gebracht werden sollen.
- Es werden häufig im Rahmen der App häufig wechselnde Inhalte verwendet.
- Die Vorteile einer nativen App (Zugriff auf Hardware des Endgeräts oder Benutzerdaten) sollen mit den Vorteilen einer Webapplikation (leichte Wartbarkeit, Kompatibilität, hohe Aktualiät der Daten)
- verbunden werden.
Vorteile von Hybrid-Apps
- Die Verteilung von Hybrid-Apps ist ähnlich einfach wie der Einsatz von Webapps. Die Anwendung wird einmal installiert. Die Funktionalität kommt wie bei der Webapp meist zum Großteil vom Web-Application-Server.
- Die Herstellungskosten sind geringer als bei der nativen App, da der größte Teil des Programmcodes Plattform unabhängig ist.
- Vorhandene Webseiten können einfach in die Hybrid-Anwendung eingebunden werden.
Nachteile von Hybridapps
- Bei der Verlinkung innerhalb der angezeigten Webapplication ist darauf zu achten, dass keine Links auf Inhalte enthalten sind, die nicht für den mobilen Einsatz optimiert sind.
- Probleme mit dem Datenschutz: Durch den unmittelbaren Zugriff auf das Endgerät können persönliche Daten des Benutzers weitergeleitet werden.
- Durch die Ausnutzung von Sicherheitslöchern in Apps kann Schadsoftware (Viren, Trojaner u.v.m) auf die Geräte gelangen.
Fazit
Letztlich ist für die Wahl des Anwendungstyps entscheidend, wieviel Benutzerinteraktion erfolgen und welche Datenquellen von der Anwendung angezapft werden müssen. Wenn nur Benutzerinteraktion eine Rolle spielt, ist eine Webanwendung die richtige Wahl. Sie kann Ressourcen entweder vom Server oder vom Endgerät des Benutzers anfordern. Dabei gibt es unterschiedliche Ausprägungen - ganz einfache Java-Script-Anwendungen bis hin zu komplexen Anwendungen mit Server seitigen Rechenoperationen (Model View Controller Prinzip). Unschlagbar günstig ist die Webanwendung in puncto Wartbarkeit.
Der Einsatz einer App drängt sich immer dann auf, wenn vom Endgerät Daten automatisch gesammelt oder generiert und für die Anwendung benötigt werden. Der Browser stellt auf dem mobilen Endgerät durch seine Sicherheits-Architektur (Sandbox-Prinzip) eine Barriere für den Austausch von aus dem Endgerät stammenden und meist automatisch gesammelten Informationen dar. Eine Webapplikation kann also anders als die App nicht oder nur bedingt Daten direkt vom Endgerät verarbeiten. Ausnahmen sind Operationen, denen der Benutzer explizit zustimmt wie z.B. die Nutzung von Positionsdaten. Hier kommt die Kombination von Webanwendung und nativer App also die Hybrid-App ins Spiel: sie läuft prinzipiell genau wie eine Anwendung im Browser, unterliegt aber nicht den Limitierungen (Sandbox) des Webbrowsers.
Stellt sich die Frage, welche Investitionen nötig sind und mit welchen Betriebskosten zu rechnen ist.
Anwendungstyp |
Herstellungsaufwand |
Langfristige Kosten |
Sicherheit |
Website (mit CMS) | eher gering |
geringe Betriebskosten | relativ sicher |
Native App | günstig | hoher Betriebs- bzw. Distributionsaufwand, Administration schwierig |
maximal unsicher |
Hybrid App | mittlerer bis hoher Aufwand | niedrige Betriebskosten, mittlerer Distributionsaufwand | unsicher |
Webapplikation | eher aufwendig | niedrige Betriebskosten, Wartungsaufwand sehr niedrig. |
Sicherheit beherrschbar |
Tabelle: Aufwand, Kosten und Sicherheit unterschiedlicher Anwendungskonzepte
Bei all diesen Abwägungen sollte eines nie aus dem Auge verloren werden: viele mobile Anwendungen sind nur so gut, wie der Datenstamm, aus dem sie sich aus dem Hintergrund bedienen. Handelt es sich um Business relevante mobile Anwendungen, ist ein Stammdatenmanagement und damit eine optimierte Datenqualität für den Erfolg und die Akzeptanz der Webanwendung oder der App oft der entscheidende Faktor.
Autor: Dr. Raimund Welzel (r.welzel@sepia.de )
Contact
Sepia GmbH & Co. KG
Ernst-Gnoss-Strasse 22
D-40219 Düsseldorf - Germany
Phone: +49 211 51 419 75
Phone alternative: +49 211 74 958 712 0
E-Mail: info@sepia.de
Looking for consultation or a web demo?
Get it here.
Mobile Apps
Mobile Apps
This is a translation test box for the english version.