In unserem Buch „iPhone Apps mit HTML, CSS und JavaScript entwickeln“ definiert der Autor Jonathan Stark, was mit einer „Web-App“ im Vergleich zu einer „nativen App“ gemeint ist. Er beschreibt jeweils die wesentlichen Vor-und Nachteile der Ansätze und wie man es mit den drei Standardwebtechnologien schafft, das Beste aus beiden Welten herauszuholen.
Was ist eine Web-App?
Für mich ist eine Web-App im Wesentlichen eine Website, die speziell für das iPhone optimiert wurde. Diese Website kann alles sein, von einer Standardbroschüre eines kleinen Unternehmens über einen Zinsrechner bis hin zu einem täglichen Kalorienzähler – der Inhalt spielt keine Rolle. Die entscheidenden Merkmale einer Web-App sind, dass die Benutzeroberfläche mit Standard-Webtechnologien erstellt wurde, dass sie über eine URL ansprechbar ist (öffentlich, privat oder versteckt hinter einem Log-in) und dass sie speziell auf die Besonderheiten des iPhone optimiert wurde. Eine Web-App wird weder auf dem iPhone installiert, noch ist sie im App Store verfügbar, und sie ist auch nicht in
Objective-C geschrieben.
Was ist eine native App?
Im Gegensatz dazu werden native Anwendungen auf dem iPhone installiert, haben Zugriff auf die Hardware (Lautsprecher, Beschleunigungssensoren, Kamera usw.), und sie sind in Objective-C programmiert. Allerdings ist das sie auszeichnende Merkmal, dass
sie im iTunes App Store verfügbar ist – eine Besonderheit, die die Fantasie von Horden von Softwareunternehmern, mich eingeschlossen, angeregt hat.
Vor- und Nachteile
Unterschiedliche Apps haben unterschiedliche Anforderungen. Manche Apps passen besser zu Webtechnologien als andere. Wenn Sie die Vor- und Nachteile der verschiedenen Ansätze kennen, fällt es Ihnen leichter, für Ihre Situation den richtigen Weg auszuwählen.
Dies sind die Vorteile der Entwicklung von nativen Apps:
– Millionen von registrierten Kreditkartenbesitzern sind nur einen Klick entfernt.
– Xcode, Interface Builder und das Cocoa Touch Framework bilden zusammen eine schicke Entwicklungsumgebung.
– Sie können die ganzen coolen Hardwarefunktionen des Geräts nutzen.
Und hier sind die Nachteile der Entwicklung von nativen Apps:
– Sie müssen bezahlen, um ein Apple-Entwickler zu werden.
– Sie müssen sich der Gnade des Überprüfungsprozesses von Apple unterwerfen.
– Sie müssen in Objective-C programmieren.
– Sie müssen auf einem Mac entwickeln.
– Sie können Fehlerbehebungen nicht zügig veröffentlichen.
– Der Entwicklungszyklus ist langsam, und der Testzyklus ist durch den App Store beschränkt.
Dies sind die Vorteile der Entwicklung von Web-Apps:
– Webentwickler können ihre bisherigen Entwicklerprogramme nutzen.
– Sie können ihre aktuellen Webdesign- und Programmierfähigkeiten nutzen.
– Sie sind bei der Entwicklung nicht auf Mac OS angewiesen.
– Ihre App läuft auf jedem Gerät mit einem Webbrowser.
– Sie können Fehler sofort beheben.
– Der Entwicklungszyklus ist schnell.
Das sind die Nachteile der Entwicklung von Web-Apps:
– Sie können die coolen iPhone-Hardwarefunktionen nicht nutzen.
– Sie müssen sich selbst um ein Abrechnungssystem kümmern, wenn Sie mit der App Geld verdienen möchten.
-Es kann schwierig werden, anspruchsvolle Effekte für die Benutzeroberfläche zu erstellen
Welcher Ansatz ist für Sie der richtige?
Ab hier wird es nun spannend. Dadurch dass das iPhone ständig online ist, schafft es eine Umgebung, in der die Grenzen zwischen Web-Apps und nativen Apps verschwimmen. Es gibt ein paar weniger bekannte Funktionen im iPhone, die es Ihnen ermöglichen, Web-Apps auch offline zu nutzen. Darüber hinaus entwickeln einige Fremdanbieter Software – von denen PhoneGap die bemerkenswerteste ist –, mit denen Webentwickler eine Web-App nehmen und sie als native App für das iPhone und andere mobile Plattformen verpacken können.
Für mich ist das die perfekte Mischung. Ich kann in meiner »Mutterprogrammiersprache « schreiben, das Produkt als reine Web-App veröffentlichen (für das iPhone und andere Geräte, die einen mobilen Browser haben), ohne mich durch Apples Überprüfungsprozess
zu quälen. Außerdem kann ich denselben Quelltext als Grundlage dazu verwenden, um eine erweiterte native Version zu erstellen, die dann die Hardwarefunktionen des Geräts nutzt und möglicherweise auch im App Store verkauft werden kann. Und wenn Apple die App ablehnt? Kein Thema, weil ich immer noch meine Onlineversion habe. Ich kann weiter an der nativen Version arbeiten, während die Kunden die Web-App nutzen.
1 Kommentare