Definition

Native App (Native Applikation)

Eine native App, native Anwendung oder native Applikation ist ein Programm, das für die Verwendung auf einer bestimmten Plattform oder einem Gerät entwickelt wurde.

Da eine native App für ein spezifisches Gerät und dessen Betriebssystem entwickelt wurde, kann die gerätespezifische Hard- und Software genutzt werden. Native Anwendungen bieten daher eine optimierte Leistung und können die Vorteile von neuen Technologien ausnutzen. Generisch für mehrere Systeme entwickelte Apps - wie Webanwendungen oder mobile Cloud-Anwendungen - bieten diese Möglichkeit nicht.

Native Anwendungen und Plattformen

Der Begriff native App bezieht sich in der Regel auf Plattformen wie macOS und Windows. Bekannte Beispiele sind die Anwendungen Fotos, Mail oder Kontakte, die auf jedem Apple Computer vorinstalliert und konfiguriert sind.

Etwas irreführend ist, dass der Begriff auch im Kontext von mobilen Webanwendungen üblich ist. Hier wird der Begriff verwendet, um jede Anwendung zu bezeichnen, die für die Arbeit auf einer bestimmten Geräteplattform geschrieben wurde. Die beiden am weitverbreitetsten mobilen Betriebssysteme sind Apple iOS und Google Android.

Jede App muss dabei für das jeweilige System entwickelt werden. Native Anwendungen werden in dem Code geschrieben, der für das Gerät und sein Betriebssystem verwendet wird. Zum Beispiel schreiben Entwickler iOS-Anwendungen in Objective-C oder Swift, während sie Android-native Anwendungen in Java erstellen.

Native Apps arbeiten mit dem Betriebssystem des Geräts zusammen, um schneller und flexibler arbeiten zu können als alternative Anwendungstypen. Wenn eine App für die Benutzer eines bestimmten Gerätetyps vermarktet wird, erstellen Entwickler für jeden Typ eine eigene App-Version.

Um den gleichen Code für iOS, Android und Mobile Web zu verwenden, wurde die Facebook-App zum Beispiel früher in HTML5 geschrieben. Es stellte sich jedoch heraus, dass die App für iOS-Nutzer langsamer war. Das veranlasste die App-Entwickler von Facebook dazu, das Programm mit einem separaten Code für iOS zu erstellen. Komplexe Aufgaben konnten so besser aufeinander abgestimmt werden.

Beispiele für native Apps

Da native Apps die spezifischen Ressourcen eines Geräts nutzen, können sie schnell auf mehrere Dienste des Geräts zugreifen - zum Beispiel auf das Mikrofon, den Beschleunigungssensor oder Push-Benachrichtigungen. Beispiele für native Anwendungen reichen von Navigationsprogrammen wie Waze über Social Apps wie Twitter bis hin zu Spielen wie Pokémon Go.

Pokémon Go greift effizient auf die Systemfunktionen für ein optimales Benutzererlebnis zu – zum Beispiel auf GPS zur Standortbestimmung, auf die Kamera für Augmented Reality und auf den Sensor zur Messung der Beschleunigung. Pokémon Go kann auch die Vorteile von Push-Benachrichtigungen nutzen, die die Benutzer nach einer Pause wieder ins Spiel bringen.

Eine native App wird direkt auf dem Mobilgerät installiert. Daten, die mit der nativen Anwendung verknüpft sind, werden auf dem Gerät oder Remote gespeichert – zum Beispiel in der Cloud.

Vor- und Nachteile nativer Apps

Zu den Vorteilen nativer Anwendungen gehören:

  • breite Funktionalitäten durch die Nutzung der Fähigkeiten des Geräts;
  • schnelle und reaktionsschnelle Software;
  • Push-Benachrichtigungen;
  • eine Benutzeroberfläche, die besser zum Betriebssystem passt; und
  • Qualitätssicherung durch Ratings in den App Stores.

Nachteile nativer Anwendungen sind unter anderem:

  • mehrere Codebasen für jeden Gerätetyp erhöhen den Entwicklungsaufwand;
  • die Kosten für zusätzliche Entwickler zum Aufbau und zur Verwaltung der Codebasis für jede Plattform; und
  • hoher Zeitaufwand für mehrere Builds für separate Plattformen in jedem Feature-Update.

Native versus Web Apps

Eine Web-App ist eine Anwendung, die der Benutzer nicht wie eine native App herunterlädt und auf seinem Gerät installiert. Stattdessen greift er über einen Webbrowser und ein Netzwerk auf die Anwendung zu. Beispiele für Webbrowser sind Google Chrome, Safari und Mozilla Firefox. Webanwendungen bieten Funktionen vom Bankkontozugriff bis zur YouTube-Videoanzeige – zum Beispiel über Safari auf einem iPhone.

Während native Apps in dedizierten Sprachen für das jeweilige Gerät entwickelt werden, ist ein Großteil der Webanwendungen in JavaScript, CSS und der Standardversion von HTML für den universellen Einsatz in verschiedenen Browsern geschrieben. Da Webanwendungen nicht auf ein bestimmtes Gerät ausgerichtet sind, können sie eine einzige Codebasis verwenden. Web-Apps sind deshalb schnell und einfach zu erstellen, aber nicht so vielseitig und schnell wie native Anwendungen.

Native versus hybride Anwendungen

Hybrid-Anwendungen sind eine Kombination aus nativen und Webanwendungen. Das Innenleben einer hybriden Anwendung ähnelt dem einer Webanwendung, sie wird aber wie eine native Anwendung installiert. Hybrid-Anwendungen haben Zugriff auf interne Geräte-APIs, so dass sie Ressourcen wie Kamera, Speicher und GPS nutzen können. Yelp und Instagram sind Beispiele für Hybrid-Applikationen.

Hybride Anwendungen werden normalerweise mit HTML und CSS erstellt. Entwickler erstellen eine Codebasis und nehmen dann kleine Änderungen vor, um die App an bestimmte Plattformen anzupassen. Der Vorteil: Für Plattformen mit einer Hybrid-App braucht es weniger Entwickler als für eine vollständig native App. Hybrid-Apps führen eine Web-App typischerweise über einen Container oder WebView aus, einen Browser, der in einer mobilen App enthalten sein kann.

Hybrid-Anwendungen unterscheiden sich in mehrfacher Hinsicht von nativen Anwendungen. Hybride Anwendungen basieren auf Webanwendungen und enthalten die gleichen Navigationselemente wie Web-Apps. Außerdem gibt es für eine Hybrid-Anwendung keinen Offline-Modus - sie funktioniert nur mit einer Internetverbindung. Native Apps hingegen können offline betrieben werden.

Die Kostenunterschiede zwischen nativen und hybriden Anwendungen sind minimal. In beiden Anwendungsarten müssen Entwickler Code schreiben, um ihn auf mehreren Plattformen zu starten. Im Allgemeinen, wenn die Entwicklungszeit einer Anwendung weniger als vier bis sechs Monate beträgt, ist eine Hybrid-Anwendung vorzuziehen, da sie schneller erstellt werden kann.

Entwicklungs-Tools für native Apps

Die wichtigsten Programmiersprachen von Apple und Google, Swift und Java, sind Open Source.

Xamarin ist ein plattformübergreifendes Softwareentwicklungswerkzeug, das für die native App-Entwicklung auf iOS und Android und anderen Plattformen verwendet wird. Es basiert auf C# als Programmiersprache.

Diese Definition wurde zuletzt im Dezember 2019 aktualisiert

Erfahren Sie mehr über Business-Software

ComputerWeekly.de
Close