Native oder HTML5 App?

Thomas Bayer

Von: Thomas Bayer
Datum: 08.08.2011

Apps für iPhone, Android und andere Smartphones können als native Anwendung für das jeweilige Betriebssystem oder als Web Anwendung für den Browser entwickelt werden. Dieser Artikel beschreibt die Unterschiede zwischen nativen Apps und HTML5 Anwendungen. Neben einem Vergleich bekommt der Leser eine Entscheidungshilfe für die Realisierung seiner Projekte.

Native Android und iPhone Apps

Eine native App bietet die beste Integration in die Oberfläche des Gerätes. Das fängt bereits mit dem Look and Feel an. Die Benutzer erwarten auf einem Android, Smartphone oder auf dem iPhone, dass Knöpfe und andere Controls gleichartig aussehen und sich identisch verhalten. Ereignisse einer Anwendung können in der Liste der Benachrichtigungen angezeigt oder Informationen über die Statusbar eingeblendet werden. Native Apps reagieren meist schneller und unmittelbarer auf Benutzereingaben als HTML5 Apps. Die beste Integration in das Bedienkonzept eines Gerätes bekommt man mit einer nativen App.

Das vertraute Look und Feel nativer Apps vermittelt dem Anwender Solidität und Zuverlässigkeit. Ausgereiftheit und Vertrauen vermittelt auch der Vertriebsweg nativer Apps. Ist eine App in Apples AppStore oder Googles Market gelistet, ist die Erwartung und das Vertrauen größer als bei einem Download von einer beliebigen Webseite. Die Aufnahme einer App in Apples AppStore ist fast mit einem Ritterschlag vergleichbar, da vor einer Veröffentlichung die App ausführlich geprüft und getestet wird. Nur Apps, die die hohen Anforderungen an die Qualität erfüllen kommen in den Store.

Das Erstellen einer nativen App setzt meist eine spezielle Entwicklungsumgebung und Kenntnisse in einer zum Betriebssystem des Gerätes passenden Programmiersprache voraus. Für das iPhone ist das die XCode Umgebung und die Programmiersprache Objective-C. Java Entwickler fällt der Umstieg auf Android etwas leichter. Das Android SDK baut auf der beliebten Eclipse IDE auf und erweitert diese um einen Android Emulator, Debugger und weitere Werkzeuge. Programmiert wird in der weit verbreiteten Java Sprache. Das Erlernen einer neuen Programmiersprache entfällt.

Dass Benutzer bereit sind, für ein App zu bezahlen, hat Apple mit seinem App Store eindrucksvoll bewiesen. Apples App Store oder Googls Market übernehmen Vermarktung, Verkauf und Inkasso. Der Anbieter kann sich ganz auf die Entwicklung seiner App konzentrieren. Die Betreiber der Stores lassen sich den Vertrieb durch dicke Prozente bezahlen. Dass man trotz dieser Prozente auch an kleinen App Preisen verdienen kann, haben einige Anbieter erfolgreicher Apps gezeigt. Wer das Monetizing der Stores nutzen möchte sollte daher eine native App in Erwägung ziehen.

Wer alle Features eines Gerätes nutzen und dem Benutzer ein Gefühl von Exklusivität bieten möchte, kommt um ein native App nicht herum.

Lesen Sie, warum mit HTML5, JavaScript und CSS realisierte Apps mittlerweile eine echte Alternative zu nativen Apps darstellen.

Web-basierte Apps mit HTML5

Web-basierte Anwendungen sind in modernen Geräten nicht mehr auf die Anzeige von Web Seiten begrenzt. Über HTLML5 und weitere Standards kann beispielsweise der Standort ermittelt, in eine lokale Datenbank geschrieben oder Grafiken gezeichnet werden.


Abbildung 1: Native App Browser

Die Browser vom iPhone, Android, BlackBerry, einigen neueren Symbian S6O und Palm Smartphones basieren auf WebKit. Eine Ausnahme stellt Windows Phone 7 dar, welches auf einer Variante des Interent Explorers setzt. WebKit ist eine open source Browser Engine, die auch für Apples Safari und Googles Chrome verwendet wird. Für WebKit gibt es zahlreiche CSS Erweiterungen wie z.B. abgerundete Ecken, Schatten und Animationen, die es dem Web Entwickler erleichtern Oberflächen mit dem Look und Feel der Smartphones zu erstellen. Webkit unterstützt den HTML5 Standard, der sich zunehmend als strategische Client Plattform auch auf dem Desktop durchsetzt.

HTML5 und ergänzende Standards bieten Entwicklern alles, um eigenständige Anwendungen zu entwickeln. Bisher konnten mit HTML und JavaScript nur Anwendungen bzw. Webseiten entwickelt werden, die zur Ausführung Kontakt mit einem Server benötigten. Dank der Offline Web Applications und der im Browser integrierten SQL Datenbank wird ein Server nur noch für die Installation und für das Updaten einer App benötigt. Eine offline HTML5 App mit lokalem Speicher stellt damit eine eigenständige Anwendung dar.

Auf HTML basierende Apps können direkt von einer Web Seite installiert werden. Ein App Store oder Market wird zur Installation nicht benötigt. Der oft langwierige und mit viel Bürokratie verbundene Weg über einen Store entfällt. Damit entfällt aber auch das Monetizing und somit die Möglichkeit von den Verkaufserlösen eines Stores zu profitieren.


Abbildung 2: Native App Hülle für HTML5 Apps

Native Apps mit HTML5

Spezifische Gerätefunktionen wie Kamera und Kontakte können mit einem Trick auch mit HTML5 und JavaScript genutzt werden. Ein in eine native Anwendung integrierter Browser lädt die Web Seiten und führt die HTML5 Anwendung aus. Für das Telefon ist das Ganze eine native App, die auch in den App Store aufgenommen werden kann. Das Framework PhoneGap nutzt dieses Prinzip um die Entwicklung von crossplattform Apps zu ermöglichen. Eine im Browser integrierte Bibliothek ermöglicht den Aufruf von nativen Funktionen. Das API dieser Bibliothek abstrahiert die Funktionen des Betriebssystems. Der Zugriff auf den Kalender erfolgt dann auf dem BlackBerry in der gleichen Weise wie auf dem iPhone oder auf Windows 7. Leider sind nicht alle Funktionen für jedes Smartphone verfügbar.

Vergleich

Native App Web based App
Integration ins Gerät (Notifications, Widgets, ...) ++ -
Unterstützte Geräte Nur ein bestimmtes OS Android, iPhone, iPad, WP7, Bada, Symbian, Desktop, ...
Performance ++ +
Entwicklungsaufwand Bei großen Apps geringer. Aufwand muss aber pro Gerät betrieben werden Einfache Apps sind schnell zu erstellen
User-Experience Gleicht sich nahtlos in die Bedienung des Phones ein Kann sehr gut sein. Das Look and Feel ist jedoch meist anders als das des Gerätes.

Fazit

Native Apps bieten die meisten Möglichkeiten und den größten Komfort. Dafür läuft die App nur auf einem Gerät. HTML5 ist mit dem lokalen Speicher und dem offline Cache eine vollwertige Plattform für Clients, nicht nur auf dem Telefon. Für HTML5 spricht die crossphone Unterstützung der Apps sowie die große Basis der Entwickler. Wird zusätzlich zu den HTML5 Features native Funktionalität benötigt, so können die Seiten jederzeit in eine native App mit PhoneGap oder einen anderen Framework gehüllt werden.