praegnanz.de büro für intervernetzte medien

Gerrit, 16.06.2011

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)

20 Kommentare

  1. Martin am 16. Juni 2011 #

    Hi Gerrit,

    interessanter Artikel, die Aussagen kommen mir doch alle sehr bekannt vor. Aus eigener Recherche kam ich vor einiger zeit zum gleichen Ergebnis! :-)

    Welche Frameworks nutzt du denn für WebApps? du hast nicht zufällig lust, hierzu mal ein kurzes Tutorial oder ähnlich zu schreiben? ^^

    Grüße

    Martin

  2. Peter am 16. Juni 2011 #

    „Kamera, Zugriff auf Adress- oder Mediendaten, Dateiuploads, Gyroskop, Kompass usw. sind für reine Webapps nicht einsetzbar.“

    Noch nicht. Ist aber alles in Arbeit. In einem Jahr sieht das dann schon ganz anders aus.

  3. Oliver Schwarz am 16. Juni 2011 #

    Gute Zusammenfassung. Dem kann man nur zustimmen.
    Mit der Phonegap-Option für Web-Apps haben wir gute Erfahrungen machen können.

  4. Gerrit am 16. Juni 2011 #

    @Peter: Wenn die Android-User dann alle ihr Gerät auf die neueste Version upgedatet haben ;-)

  5. Peter am 16. Juni 2011 #

    @Gerrit: Wir haben gewartet bis der IE6 ausgestorben ist. Das hier schaffen wir auch noch.

  6. Francesco am 16. Juni 2011 #

    Bezüglich Gyroskop: Es gibt die Device Orientation API in HTML5. Funktioniert ganz prima auf Webseiten.

    Und falls es jemand noch nicht mitgekriegt hat: die Financial Times haben neulich eine Webapp ihrer Zeitung rausgebracht. Sehr feines Ding! Fühlt sich fast wie eine native App an.

  7. Ole am 16. Juni 2011 #

    Da ich mich grade aktuell genau in diese Thematik einarbeite, freue ich mich natürlich auch über jeden Fitzel an Informationen der dazu zu finden sind, danke Gerrit :)

    Meine aktuelle Linkliste (naja »fast«, der Link zu diesem Artikel hier ist dort nicht drin ;)) findet sich in einem Artikel im SelfHTML-Forum (http://forum.de.selfhtml.org/?t=205490&m=1392940)

    Vielleicht ist ja auch für den Einen oder Anderen von hier etwas interessantes dabei.

  8. Mark am 16. Juni 2011 #

    Schaut euch das mal an:
    http://appelsiini.net/2011/iphone-controlled-html5-logo-and-cube
    Da wird glaube ich das Gyroscope angesprochen.

  9. Subito am 16. Juni 2011 #

    Darf ich mal in den Raum werfen, dass bei WebOS die nativen Apps in HTML/CSS/Javascript geschrieben werden? Funktioniert grossartig einfach und die von dir beschriebene »Einstiegshuerde« in die native Entwicklung duerfte bei Standard-Web-Technologie ziemlich niedrig sein…

  10. Gerrit am 16. Juni 2011 #

    @Subito: Ja. Aber ist WebOS nicht dem Tode geweiht? Verbreitung < 2 Prozent, oder?

  11. Ole am 16. Juni 2011 #

    HP hat vollmundig erklärt die Nummer 1+ (ja wirklich mit Plus) auf dem Tablet-Markt werden zu wollen und sollten sie diese Drohung wahr machen können, wäre mit WebOS ja doch noch der eine oder andere Blumentopf zu gewinnen.

  12. Sebastian am 16. Juni 2011 #

    Wie immer gibt es kein Schwarz oder Weiß. Selbst innerhalb der Webwelt gibt es unterschiede.

    Man kann mit HTML/CSS und Mediaqueries schon viel erreichen.
    Eine Stufe weiter geht dann der Gebrauch von jQuery Touch oder auch JO.
    Die nächst abstraktere Version ist dann Sencha Touch oder das (von mir mitentwickelte) Unify Project.

    Als nächstes stellt sich die Frage, ob man die Styleguides des jeweiligen Betreibssystems benutzen möchte (z.B. Human Interface Guidelines von iOS) oder ob das Ziel mehr ein im Web übliches eigenes Markenstyling ist.

    Nicht zu vergessen die von dir erwähnten Hybrid-Apps, die man unter anderem mit PhoneGap erstellen kann.

    Über alles gesehen haben für mich alle Bereiche ihre Berechtigung. Als Produktverantwortlicher ist man aufgefordert alle Varianten zu prüfen und das beste aus allen Welten zu nehmen. Und wenn man das nicht selber kann, dann nimmt man sich einen Experten der eben dies beurteilen kann.

    (Ich hätte gerne alle Projekte verlinkt, aber das geht bei dir leider nicht. Aber die Suchmaschine des Vertrauens hilft bei allen Projekten weiter :)

  13. Martin (MacMacken) am 16. Juni 2011 #

    Noch ein Nachteil von Webapps, zumindest unter iOS: Sie erhalten keine eigene Browser-Instanz, sondern laufen als ein Tab von Mobile Safari. So kommt gar nicht erst App-Feeling auf … :(

  14. Gerrit am 16. Juni 2011 #

    @Martin: Das lässt sich sehr leicht über eine Zeile Code im Header ändern. Hat zwar wieder andere Nachteile (Normale Links gehen grundsätzlich wieder im Mobile Safari auf), die man aber per JavaScript beheben kann.

  15. buntklicker.de am 16. Juni 2011 #

    Noch ein Argument für Web-Apps: Man muß sie nicht installieren! Man kann sie in Google finden und einfach benutzen, ohne erst den Market öffnen zu müssen, zu installieren, bla keks pipapo.

    Ich habe zwar ein schickes Android-Telefon und auch die eine oder andere App drauf, aber ich will ja nicht hunderte von Apps auf dem Telefon rumschleppen, die jede einzelne nicht mehr können als eine Web-App könnte. (Einen Bookmark würde ich ja vielleicht noch springen lassen … :-) ).

  16. Tanja Handl am 17. Juni 2011 #

    Ein sehr guter Artikel, der die wesentlichen Vor- und Nachteile auf den Punkt bringt.

    Ich selbst bin klarer Webapp-Fan, aus ähnlichen Gründen wie buntklicker. Ich nutze mehrere Geräte (Smartphone, Notebook, Desktop), und genieße es, dass bei Webapps Installations-, Wartungs- und Synchronisationsaufwand wegfallen. Aus Nutzersicht sind Webapps bei entsprechender I-Netverbindung einfach viel bequemer.

  17. Frank am 18. Juni 2011 #

    @Tanja

    »Aus Nutzersicht sind Webapps bei entsprechender I-Netverbindung einfach viel bequemer.«

    Eben!

    Punkt 6: Native Apps lassen sich ohne (teure) I-Net-Verbindung nutzen.

    Kein Normalo-User speichert sich eine Web-App zur späteren offline-Nutzung ab (man denke etwa auch an die ipods oder tablets ohne Internet-Verbindung für unterwegs).

    Ansonsten Super-Artikel!

  18. Willi am 24. Juni 2011 #

    Was mich bei Webapps rasend macht: Wenn sie wirklich NUR auf Tablets laufen und Desktops einfach mal ausgesperrt werden. Warum muss ich mich am Mac mit einer normalen Website zufrieden geben?

  19. Don am 24. Juni 2011 #

    Kleiner Typo:
    …aber muss ich Kopf behalten werden.
    hab ich eher als:
    …aber muss im Kopf behalten werden.

    die Sache ist für mich die:
    Objective-C ist wirklich »ah graus«, ich meine als reiner Javascripter muss man sich an den Syntax wirklich gewöhnen (habs versucht): das ganze Memorymanagment, die Pointer Geschichte dann MVC Pattern, Klassen+Vererbung, Frameworks usw.. usw.. da muss man erstmal ein bisschen Übung bekommen, bestimmt 2-3 Jahre bevor man was ansehnliches Produziert!

  20. mobile marketing apps am 26. September 2011 #

    Wie schon richtig gesagt wurde, ist es immer eine individuelle Frage, ob native App oder Web App.
    Ich persönlich sehe die Zukunft aber vor allem in mobilen Web Apps.
    In meinem Blog sammle ich seit Kurzem Vorteile dieser Apps und stelle spannende Beispiel-Apps vor.
    Vielleicht ist da für den ein oder anderen auch noch was dabei.

    http://mobilemarketingapps.wordpress.com/

    Viele Grüße

Kommentar schreiben

Nutzt Textile zum Strukturieren eures Textes.
SEO-Beiträge werden gelöscht, auch bei thematisch passendem Spam.