Nochmal über native und webbasierte Apps (update)

So wie es aussieht, wird es ein echtes Dauerthema bleiben: die Frage nach der besseren Methode, eine Applikation für ein Smartphone zu entwickeln. Und in diesen Tagen wird besonders viel darüber geschrieben. Kluge Essays sind dabei, zum Beispiel von Tim Bray.

Im Grunde kann man die Diskussion aber auf 5 simple Vor- und Nachteile herunterbrechen, und das will ich hier tun. Auch, um allen etwas Grundmunition für spätere Wortgefechte zur Verfügung zu stellen.

Fakt 1: Native Apps sind potenziell schneller, schöner und fühlen sich besser an. Das ist derzeit de facto so, auch wenn es nicht für alle Ewigkeit in Stein gemeißelt sein muss. Zumindest unter iOS und Android ist HTML/CSS und JavaScript noch nicht in der Lage, native UI so nachzuahmen, dass dem interessierten Nutzer der Unterschied nicht auffallen würde.

Fakt 2: Webapps können nur einen Teil der OS-APIs nutzen. Kamera, Zugriff auf Adress- oder Mediendaten, Dateiuploads, Gyroskop, Kompass usw. sind für reine Webapps nicht einsetzbar. Native Apps sind besser ins Betriebssystem und in die Hardware integrierbar. Dies ist nicht immer ein gewichtiges Argument, aber muss ich Kopf behalten werden. Immerhin: Geolocation geht gut!

Fakt 3: Webapps können nicht in den diversen »AppStores« gelistet und dort gefunden, geladen oder gekauft werden. Das ist für viele Entwickler das Killer-Argument schlechthin: Eine Webapp wird einfach nicht gefunden und benutzt, wenn der Benutzer nicht explizit danach googlet, oder wenn die App nicht über vorhandene Infrastruktur aggressiv beworben wird. In den AppStores und Marketplaces dieser Welt können hingegen selbst bisherige No-Names reich und berühmt werden. Stichwort »Tiny Wings«.

Fakt 4: Native Entwicklung ist teurer und (derzeit) schwerer kalkulierbar. Der Markt für gute iOS-Entwickler ist zumindest mal leergefegt. Nur mit viel Geld oder einem glücklichen Timing kann man einen zuverlässigen und geschmackssicheren Entwickler überreden, für sich zu arbeiten. Darüber hinaus ist man (zumindest unter iOS) auf Apples Gunst/Willkür angewiesen, die bei manchen Apps auch mal »Nein« sagen können.

Fakt 5: Bei Webapps gibt’s Crossplattform-Fähigkeit als beinahe kostenlose Dreingabe. Es ist ja in vielen Fällen schon billiger, eine Webapp für eine bestimmte Plattform entwickeln zu lassen. Doch wenn der Entwickler nicht komplett dumm ist, läuft das Ergebnis ohne größeren Mehraufwand auch gleich unter allen Plattformen mit vernünftigem Browser. Der Einsatz von Frameworks hilft hier natürlich zusätzlich.

Soweit die wichtigsten Punkte, die wohl die meisten unterschreiben würden. Wie man das im Einzelnen gewichtet, hängt vom Projekt, dem Auftraggeber und letztlich dem persönlichen Geschmack und dem eigenen Fundamentalismus ab.

Dass man eine Webapp auch mit wenig Aufwand in einen nativen Mantel hüllen kann, soll am Ende nicht verschwiegen werden. PhoneGap kann hier beispielsweise behilflich sein – und sogar einige der nativen OS-APIs zur Verfügung stellen! Dafür muss man aber ab einem bestimmten Zeitpunkt in die jeweilige Entwicklungsumgebung (XCode oder Eclipse) wechseln und dort zu Ende entwickeln. Ob es da nicht fast einfacher ist, gleich nativ zu beginnen? In jedem Falle kann man mit einer Ummantelung das AppStore-Problem in den Griff bekommen, und das ist ja auch schon was – wenn auch nicht wirklich elegant …

Ich persönlich bleibe jetzt erstmal den Webapps treu. Nicht auszuschließen, dass ich irgendwann mal zusätzlich native Entwicklung lerne, aber vorerst kümmere ich mich um das, was ich am besten kann: Mit modernen Webstandards nette Websites und Webapps bauen!

Leseliste (wird erweitert)