Mobile Apps - Die verschiedenen Techniken

In diesem Beitrag möchten wir gerne auf die Vor-und Nachteile von Nativen/Web und Hybrid-Apps eingehen. Jede dieser Formen hat seine Daseinsberechtigung - mit Vorteilen und Nachteilen. Eine pauschale Empfehlung kann man in diesem Bereich nicht geben. Eine sinnvolle Entscheidung ist abhängig von der Art der Anwendung, den gewünschten Funktionen, insbesondere die zu nutzenden Hardwareeigenschaften der mobile Geräte, aber auch von Zielgruppe und Performanzwünschen.
Sollten Sie mit dem Gedanken spielen, eine App zu entwickeln, werden Sie nicht darum kommen, sich mit diesem Thema zu beschäftigen. Daher hoffe ich, dass dieser Beitrag Ihnen bei der Entscheidung helfen wird.

Grundsätzlich können mobile Apps in drei Arten eingeteilt werden. Ein ersten Überblick über die Möglichkeiten bietet diese Übersicht.

Native Apps

Native Apps werden speziell für die Zielplattform (Betriebssystem) des mobilen Endgerätes entwickelt. Die drei großen Plattformen sind Android, iOS, Windows Phone. Dabei kann die vom Hersteller herausgegebene Entwicklungsumgebung genutzt werden:

Plattform Entwicklungsumgebung Programmiersprache
Apple (iOS) Xcode (Mac OS) Objective C / Swift(noch Beta)
Android Eclipse/NetBeans/Android Studio Java
Windows Phone Visual Studio .Net Basierend. Z.b. C#/C++/Html/Javascript

Durch die plattformnahe Entwicklungsumgebung der Hersteller können so gut wie alle technischen Hardwarekomponenten der mobilen Geräte angesprochen und desen Features optimal genutzt werden. Die hardwarenahen Schnittstellen wirken sich auch positiv auf die Geschwindigkeit der entsprechenden mobile Apps aus. Dies betrifft neben GPS-Positionierung,  auch die Bewegungssendsoren, Fingerabdruck-Sensor oder die integrierte Kamerafunktion.

Um die entsprechenden nativen Mobile Apps dann auf den mobilen Endgeräten zu installieren, bieten die verschiedenen Hersteller so genannte App-Stores an. Diese werden von den Anbietern kontrolliert, was zum einen den Vorteil der Sicherheit für den Entnutzer bietet, aber auch die Entwicklung der Anwendungen erschwert, da die bestimmten Anbieterregelungen eingehalten werden müssen. Hier ist neben einem zeitlichen Engpass auch die Gefahr, dass die Anwendungen abgelehnt werden. Einige Plattformen wie z.B. Android, erlauben auch das direkte Herunterladen und  Installieren von Apps.

Vorteile:

  • Direkte Entwicklung für die Zielplatform
  • Viele Optimierungsmöglichkeiten
  • Performant
  • Nutzung aller Hardwarekomponenten und deren Features
  • Vertrieb über App-Store möglich/Pflicht
  • Vollständige Offlinenutzung möglich

Nachteile:

  • Die App kann nur auf der jeweiligen Zielplattform genutzt werden
  • Aufwändiger und teurer in der Entwicklung
  • App-Store-Regelungen müssen eingehalten werden

 

Web Apps

Web Apps sind mobile Webseiten, die mit Hilfe von Javascript-Frameworks auf einige Funktionen der mobilen Endgeräte zugreifen können. Welche unterschiedlichen Frameworks es gibt und welche Möglichkeiten diese bieten, dazu in einem eigenen Beitrag mehr.
Web Apps werden mittels Standard Web-Technologien wie HTML/CSS/Javascript umgesetzt und können somit auf allen Plattformen eingesetzt werden.

Mit Hilfe des „Offline Data Storage“ können Daten auch lokal auf dem Gerät gespeichert und genutzt werden. Des Weiteren bieten die verschiedenen Frameworks die Möglichkeit, teile der App Offline zu nutzen. Zur Darstellung wird der Browser des jeweiligen Endgerätes genutzt.

Vorteile von Web Apps:

  • Plattformübergreifend
  • Vergleichsweise einfach und kostengünstig
  • Updates können zeitnah vorgenommen werden
  • nur Eine Entwicklungsumgebung bzw. eine Anwendungsversion für alle Plattformen
  • Touch-Gesten können genutzt werden

Nachteile:

  • Es können nicht alle Hardwarefunktionen des jeweiligen Gerätes/Plattform genutzt werden
  • Performance meist schlechter als bei Nativen Apps
  • eventuelle Bezahlverfahren müssen selbst eingebunden und verwaltet werden
  • Internetverbindung ist erforderlich

 

Hybrid Apps

Hybrid Apps sind, wie der Name schon vermuten lässt, eine Mischung aus nativer mobile App und einer Web App.

Unter Nutzung von speziellen Frameworks wird die Web App in einem nativen Container der jeweiligen Zielplattform ausgeführt. Dieser Container stelt die Schnittstellen zu den Gerätefunktionen bereit, über die die Web App dann auch auf die speziellen Features der jeweiligen Zielplattform zugreifen kann. Da die Hybrid App über eine Zwischenschicht ( z.B. eine WebView) mit dem Endgerät kommuniziert, ist die Performance bei rechenintensiven Anwendungen eher mager. Hybrid Apps lassen sich recht schnell auf allen Plattformen kompilieren, was eine günstige Alternative zur Entwicklung reiner nativer Apps darstellt.

Der Vertrieb wird genauso wie bei einer nativen App über den Appstore des jeweiligen Anbieters gelöst.

Vorteile:

  • Kostengünstige Entwicklung als native Apps für alle Plattformen
  • Zugriff auf Hardwarefunktionen

Nachteile:

  • Performance meist schlechter als Native Apps
  • Höherer Entwicklungsaufwand als bei Web Apps

 

Fazit

F: Aber welche Form ist nun die beste?

A: Keine. Um zu entscheiden, welche Art der Entwicklung für mein Produkt am besten ist, müssen Sie sich folgende Fragen stellen:

  • Welche Plattformen will ich bedienen?
  • Will ich bestimmte Features/Funktionen einer Plattform nutzen?
  • Soll die App auch komplett Offline laufen können?
  • Was möchte ich wie darstellen?
  • Erwarte ich häufige Updates?
  • Wie hoch dürfen die Entwicklungs-und Wartungskosten sein?
  • Erwarte ich direkte Einnahmen durch die App?
  • Möchte ich einen App-Store als Vertriebsplattform nutzen?