Web Apps, eine echte Alternative für die iPhone-App-Entwicklung

Doch nicht nur Plan B
Kommentare

Das iPhone zieht immer mehr Menschen in seinen Bann. Apple-Chef Steve Jobs kann auf eine beispiellose Erfolgsgeschichte des Smartphones aus dem Hause Apple zurückblicken, das heute einer der wichtigsten Bausteine für Apples Erfolg darstellt. Laut Aussage von Apple Deutschland wurden weltweit bereits über 50 Millionen iPhones verkauft. In 2010 soll der Verkauf gegenüber 2009, laut Steve Jobs, nochmals um 40 % gesteigert werden. Allein in Deutschland ist die Anhängerschaft des Kulthandys bereits auf über 2 Millionen angewachsen. Ein weiterer Anstieg der Verkaufszahlen wurde wohl spätestens mit der Einführung des neuen iPhones 4G eingeläutet.

Besonders wichtig für die enorme Verbreitung des iPhones war sicherlich die Vielzahl der zur Verfügung stehenden Anwendungen für den privaten Nutzer, aber auch für die Geschäftswelt. Weit über 100 000 dieser so genannten Apps werden mittlerweile allein über den App Store angeboten. Nicht zu vernachlässigen ist aber auch die hohe Anzahl diverser Anwendungen in Form so genannter Web Applications, die über den mobilen Browser zu erreichen sind. Immerhin stellt das iPhone aktuell den mit Abstand besten mobilen Internetbrowser Safari Mobile zur Verfügung. Zudem bekommt dieser mit dem Release des im März erschienenen Opera Mini langsam Konkurrenz. Der Weg für die Entwicklung neuer und innovativer Web Apps ist somit geebnet.

Grundsätzlich können Anwendungen für das iPhone als so genannte Native Apps oder in Form von Web Apps entwickelt werden. Bei einer Native App handelt es sich um eine Anwendung, die auf dem iPhone installiert wird und direkten Zugriff auf alle hardwarenahen Features, z. B. die Kamera, besitzt. Die Entwicklung von Native Apps basiert auf der Programmiersprache Objective-C und setzt die Entwicklung auf einem Mac voraus. Im Gegensatz dazu stellt eine Web App grundsätzlich eine Website dar, die für das iPhone optimiert wird. Das User Interface einer Web App wird mit Standardwebtechnologien wie HTML, CSS und JavaScript umgesetzt.

Es gibt verschiedene Gründe, die für die eine oder andere Art der Umsetzung sprechen. Eine Entscheidung hierüber wird allerdings häufig zu schnell getroffen, ohne vorher darüber nachzudenken, welche Art der Entwicklung die effizienteste ist. Daher sollen im Folgenden die Vor- bzw. Nachteile kurz erläutert werden.

Der im ersten Moment anscheinend wichtigste Punkt, der für die Entwicklung in Form einer Native App sprechen könnte, ist sicherlich das liebe Geld. Eine Web App kann nicht in den App Store hochgeladen und dort beworben bzw. zu barer Münze gemacht werden. Diese Aussage stimmt nur teilweise. Denn eine Web App kann z. B. mithilfe des Open-Source-Tools PhoneGap in eine Native App umgewandelt und dann in den App Store hochgeladen werden. PhoneGap ermöglicht zudem den Zugriff auf weitere hardwarenahe Features. Allerdings setzt auch PhoneGap einen Mac und die Entwicklungsumgebung XCode voraus und kommt in Sachen Performance nicht ganz an eine effizient entwickelte Native App in Objective-C heran. Bei Objective-C handelt es sich um einen performanten C-Dialekt. Jedoch gibt es auch hier wieder viele neue, syntaktische und konzeptionelle Konstrukte, die man als Entwickler zunächst erlernen muss. Die Gemeinde der Webentwickler hingegen, die sich mit HTML, CSS und JavaScript auskennt, ist enorm groß. Ein weiterer wichtiger Aspekt ist, dass eine Web App nicht nur auf das iPhone beschränkt ist und damit auch auf anderen mobilen Endgeräten verwendet werden kann, sofern diese über einen Browser verfügen. Auch eine Anbindung beispielsweise an ein vorhandenes Extranet kann mit geringerem Aufwand erfolgen, da der Code an vielen Stellen wiederverwendet werden kann. Sofern man von einer Web App spricht, die nicht in eine Native App umgewandelt wird, darf man auch nicht vergessen, dass ein ggf. notwendiges Payment-System komplett selbst entwickelt und auch sämtliche Werbemaßnahmen komplett eigenständig vorangetrieben werden müssen. Die Unterstützung durch den zentralen Dreh- und Angelpunkt, App Store, bleibt aus. Als letzter Punkt sollen noch die Apple-Regularien für die Entwicklung einer Native App erwähnt werden. Neben der jährlich fälligen Gebühr für das Developer-Programm muss sich ein Entwickler auf einen mitunter langwierigen und undurchsichtigen Approval-Prozess nach dem Upload der Anwendung in den App Store einstellen. Dies gilt im Übrigen auch für ggf. notwendige Bug Fixes, die nicht direkt eingespielt werden können, sondern ebenfalls den Approval-Prozess durchlaufen müssen. Wie immer im Leben, gilt es auch hier genau abzuwägen, welche Features benötigt werden und welche Art der Entwicklung für die individuelle Lösung die probate Variante ist.

Entwicklung einer Web App

Zum Grundgerüst einer Web App gehören grundsätzlich: ein valides HTML-Markup, die Viewport-Angabe als Metainformation zum Skalierungsverhalten der Seite im iPhone und ein dazu passendes Stylesheet für die Darstellung der Inhalte. Eine entsprechende Dynamik kann der Anwendung durch den Einsatz von JavaScript hinzugefügt werden. Jonathan Stark stellt mit seiner frei verfügbaren, auf jQuery basierenden Bibliothek jQTouch ein Framework zur Verfügung, mit dem die Entwicklung von Web Apps stark vereinfacht wird. jQTouch stellt mit seiner aktuellen Beta 2 ein umfangreiches und leicht zu integrierendes Sammelsurium an Funktionen zur Verfügung, die eine schnelle Entwicklung von Web Apps ermöglicht. Zentraler Kern des Frameworks sind Methoden zur Darstellung und Seitenanimationen, die den bekannten Apple Look widerspiegeln. Hierzu zählen u. a. die Darstellung im Fullscreen-Mode, diverse Seitenanimationen wie PageFlip oder Sliding und Stylesheets, die der Optik von Native Apps sehr nahekommen.

Um ein iPhone-Web-App-Projekt mithilfe des Frameworks jQTouch aufzubauen, muss zunächst die aktuellste Version von jQTouch von der jQ Touch-Webseite heruntergeladen und in einem Webverzeichnis gespeichert werden. Das jQTouch-Paket enthält neben der jQTouch- und der jQuery-Bibliothek ein Verzeichnis mit Erweiterungen, zwei unterschiedliche Themes sowie einige Beispieldateien. Die jQuery-Datei befindet sich in dem Verzeichnis jQTouch und muss zunächst von jquery.1.3.2.min.js in jquery.js umbenannt werden (Abb. 1).

Abb. 1: Verzeichnisstruktur eines jQTouch-Projekts
Abb. 1: Verzeichnisstruktur eines jQTouch-Projekts
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -