Arten von mobilen Apps

daniel romero bR r3fJu vk unsplash scaled

Die Art oder das Format einer App ist eine erste wesentliche und grundlegende Entscheidung für den Verlauf des weiteren App-Projekts. Von dieser Entscheidung ist ein großer Teil des restlichen Entwicklungs- und Konzeptionierungsprozesses abhängig. Wir stellen native Apps, Cross-Plattform Apps, hybride Apps sowie Web Apps und Progressive Web Apps vor.

Es gibt verschiedene Arten von mobilen Apps. Native Apps, Cross-Plattform Apps, Hybride Apps, Web Apps und Progressive Web Apps bilden dabei die wichtigsten Kategorien.

Native Apps sind die Klassiker unter den Apps

Die Klassiker unter den Apps sind die sogenannten nativen Apps. Als Klassiker bezeichnen wir sie deshalb, weil in den ersten Jahren der App Entwicklung, quasi jede App eine native App war. Bei der nativen App Entwicklung wird für jede Plattform separat entwickelt und konzeptioniert. Es müssen unterschiedliche Programmiersprachen verwendet und Prozesse, wie zum Beispiel das Publishing, separat betrachtet werden. In unserem Artikel 5 Tipps für die App Konzeption stellen wir einige Grundlagen vor, die unbedingt beachtet werden sollten.

Eine native App bietet jedoch auch die meisten Möglichkeiten um eine App nach eigenen Vorstellungen zu gestalten. Vor allem rechenintensive und grafisch aufwändige Applikationen zeigen Vorteile bei nativer Umsetzung. Aber auch weniger komplexe Apps können von der Leistungsstärke nativer Programmierung profitieren. Der Performance-Vorteil von nativen Apps wird allerdings zunehmend durch die rasante Entwicklung im Bereich Cross-Plattfrom Apps geschmälert.

Ein zentraler Vorteil nativer Apps bleibt weiterhin der meist problemfreie Zugriff auf native Funktionen wie zum Beispiel Kamera, Mikrofon, Adressbuch, Kalender, Push-Nachrichten, GPS-Lokalisierung und Bluetooth des Smartphones.

Vorteile von nativen Apps

  • Gute und robuste Performance (schnell, geringe Latenz)
  • Optimale Interaktion mit dem zugrundeliegenden Betriebssystem (z.B. können sie mit Dateien auf dem Smartphone optimal interagieren und beinahe problemfrei alle nativen Funktionen eines Geräts wie Kamera, GPS und Push-Benachrichtigung nutzen)
  • Kann optimal auf das jeweilige mobile Betriebssystem abgestimmt werden

Nachteile von nativen Apps

  • Längere Entwicklungszeit als bei anderen Entwicklungsansätzen
  • Kostenintensivere Entwicklung als bei anderen Entwicklungsansätzen

Wann sollte die native Entwicklung gewählt werden?

  • Wenn nur für eine Plattform entwickelt werden soll

Cross-Plattform Apps als starke Alternative

Bei der Cross-Plattform Entwicklung wird eine einzige Code-Basis genutzt um die Funktionalitäten der App auf verschiedenen Plattformen (z.B. Android, iOS) nutzbar zu machen. Bei User-Interface Elementen wie zum Beispiel Buttons wird auf nativen Code zugegriffen und somit ein Nutzererlebnis wie bei einer nativen App geschaffen. Bekannte Frameworks zur Entwicklung von Cross-Plattform Apps sind React Native (Facebook) und Flutter (Google).

Vorteile von Cross-Plattform Apps

  • Zeit- und Kostenvorteile durch (weitgehend) gleichzeitige Programmierung für mehrere Plattformen
  • Anpassungen sind einfacher/schneller da nur eine Code-Basis geändert werden muss

Nachteile von Cross-Plattform Apps

  • Ein gewisser Anteil des Codes muss individuell programmiert werden, da nicht alles in die Cross-Plattform-Frameworks übernommen werden kann

Wann sollte die Cross-Plattform Entwicklung gewählt werden?

  • wenn Zeit- und Kostenrahmen eine native Entwicklung nicht erlauben

Mit HTML, CSS und JavaScript in den App Store: Hybride Apps

Bei der hybriden Entwicklung werden Features einer nativen App und jene einer Web App kombiniert. Das bedeutet, es werden aus der Webentwicklung bekannte Frameworks und Programmiersprachen verwendet. Dabei wird eine Web App in einen nativen Web View “gepackt”. Das bedeutet, dass in einer App, die im App Store heruntergeladen werden kann, eine wie in einem Browser aufgerufene Web App “läuft”.  HTML, CSS und JavaScript können wie bei der Web Programmierung verwendet werden. Ein bekanntes Framework zur Entwicklung hybrider Apps ist Cordova.

Vorteile von hybriden Apps

  • Zeit- und Kostenvorteile durch gleichzeitige Entwicklung für mehrere Plattformen und bekannte Programmiersprachen
  • schnelles Eintreten in den Markt ist möglich

Nachteile von hybriden Apps

  • Teilweise Performance-Einbußen
  • Probleme mit nativen Features bei manchen Plattformen möglich

Wann sollte die hybride Entwicklung gewählt werden?

  • Wenn man Nutzer nach kurzer Entwicklungszeit plattformübergreifend ansprechen möchte

Web Apps: Websites können Apps sein

Eine Web App ist eine  mobil optimierten Website (responsive Design). In Bezug auf die Programmierung wird mit bekannten Frameworks und Programmiersprachen gearbeitet: HTML, CSS und JavaScript.

Vorteile von Web Apps

  • Bekannte Entwicklungsumgebung (HTML, CSS, JavaScript) für Programmierer
  • Änderungen sind plattformübergreifend, schnell und wenig kostenintensiv umsetzbar

Nachteile Vorteile von Web Apps

  • Web Apps sind nur über Browser aufrufbar
  • Keine Verfügbarkeit in App-Stores

Wann sollte die Web App Entwicklung gewählt werden?

  • Wenn man primär eine mobil optimierte Website haben möchte
  • wenn aufgrund des Nutzerverhaltens keine Notwendigkeit besteht eine App in App Stores zum Download zur Verfügung zu stellen

Progressive Web Apps: Websites mit Push-Nachrichten und mehr

Progressive Web Apps (PWAs) laufen so wie auch herkömmliche Web Apps im Browser – allerdings mit der Möglichkeit auf native Features (wie z.B. Notifications und Hardware-Features) zuzugreifen. Ein Download ist möglich aber nicht über die App Stores. Die Download-Möglichkeit wird beim Aufrufen einer PWA-Website im Browser durch ein Pop-Up angezeigt.

Vorteile von progressiven Web Apps

  • Plattformübergreifende Programmierung und Verwendung ist problemlos möglich
  • Kosten- und Zeitersparnis bei der Entwicklung

Nachteile von progressiven Web Apps

  • Teilweise Performance-Einbußen im Vergleich zu nativen Apps
  • Beschränkungen bei der Verwendung von Hardware-Komponenten des mobilen Betriebssystems und keine Verfügbarkeit in App Stores

Wann sollte die PWA Entwicklung gewählt werden?

  • Wenn schnelle, kostengünstige und plattformübergreifende Entwicklung notwendig ist – mit der Möglichkeit einige native Features wie z.B. Push Notifications zu verwenden

Onlinekurs: App Konzeption

Eine noch ausführlichere Erläuterung zu den verschiedenen App Arten gibt es in unserem Onlinekurs App Konzeption.

Falls Sie Fragen zum Onlinekurs “App Konzeption” haben, schreiben Sie uns office@autbite.com!

Übersicht – Arten von Apps

Zur schnellen Übersicht haben wir nochmals die Kern-Unterscheidungsmerkmale zusammengefasst:

App Format/Art

App Eigenschaften

Programmierung

  • Für jede Plattform wird separat entwickelt

  • Download in App Stores

  • Auch oft ohne aktive Internetverbindung funktionsfähig

  • Native Programmierung erfordert spezielle Kenntnisse

  • Eine Code-Basis für mehrere Plattformen

  • Download in App Stores

  • Auch oft ohne aktive Internetverbindung funktionsfähigNew List Item

  • Cross-Plattform Programmierung erfordert spezielle Kenntnisse

  • Features einer nativen App und einer Web App werden kombiniert

  • Darstellung in einem Web View

  • Download in App Stores

  • Auch oft ohne aktive Internetverbindung funktionsfähig

  • HTML, CSS, JavaScript

  • Mobil optimierte Website (responsive Design)

  • Läuft im Browser

  • HTML, CSS, JavaScript

Progressive Web App (PWA)

  • Wie herkömmliche Web App aber native Funktionalitäten (wie Push-Notifications, Splash-Screen, etc.

  • Download über den Browser möglich (aber nicht in App Stores)

  • HTML, CSS, JavaScript

Der Trend zur “einfachen” Code-Basis

Zunehmend bestätigt sich der Trend, dass die Programmierung einer App nur einmal erfolgt und diese Code-Basis dann mit geringfügigen Änderungen für verschiedenste Anwendungen, Plattformen etc. angepasst und verwendet werden kann. Auch für die App Planung bzw. App Konzeption bedeutet das ein Umdenken und teilweise sogar eine Vereinfachung.