App-Typen

Aus unkompliziert.eu
Wechseln zu:Navigation, Suche

Typen von Apps für mobile Betriebssysteme

Native Apps

Apps, die mit den Werkzeugen des Betriebssystem-Herstellers entwickelt wurden.

Beispiele für diese Werkzeuge:

  • Android Studio
  • Xcode von Apple

Bei diesen Apps wird das Programm in Maschinensprache für iOS oder in Java Byte Code für Android mit einem Compiler übersetzt.

Vorteile

  • Nutzung aller Möglichkeiten, die Gerät und Betriebssystem bieten
  • Schnellstmögliche Ausführung der Programme

Nachteile

  • Unterschiedliche Programmiersprachen
  - Java für Android
  - Objective-C und Swift für iOS
  - C# für Windows Mobile
  • Kein cross-platform-Entwicklung: Ein Programm muss für jedes Betriebssystem neu entwickelt werden.
  • Hoher Lernaufwand: Die Entwickler müssen Programmiersprache und API für jeder Plattform neu erlernen.

Web Apps

Eine HTML-Seite mit eingebettetem JavaScript-Code

Beispiele: E-Mail-Clients für Web (GMX, web.de, Google Mail, yahoo), Office365, Google Docs, Apple iCloud usw.

Vorteile

  • Läuft auf allen Betriebssystemen auf denen ein (moderner) Browser läuft.
  • Einmal programmiert läuft die App (hoffentlich) überall.
  • Geringerer Lernaufwand: 1 Programmiersprache (=JavaScript), 1 API und Umgebung: Browser

Nachteile

  • Langsamer, da sie erst von JavaScript in Maschinensprache übersetzt werden müssen.
  • Wir können nicht alle Funktionen des Betriebssystems nutzen, da diese aus Sicherheitsgründen für Web Apps nicht zugänglich sind.

Hybride Apps

Eine Web-App, die in einem Container läuft und auf einem Handy installiert wird wie eine normale App.

Der Benutzer merkt gar nicht, dass es sich um eine Web-App handelt, weil sie (in der Regel) genauso aussieht wie eine native App.

Tatsächlich läuft diese App in einem Browser-Fenster, das keinen Rand hat und genauso groß ist wie der Bildschirm.

Vorteile

  • Zugriff auf (nahezu) aller Funktionen der Geräte
  • Programm lässt sich auf allen (unterstützten) Betriebssystemen ausführen

Nachteile

  • Langsamer als Native Apps
  • Anpassung an Betriebssystem-Design aufwendig.