praegnanz.de büro für intervernetzte medien

Gerrit, 25.06.2010

Süße Lösungen für die Webanwendungs-Entwicklung

Wer schicke und touchige Applikationen für iPhone, iPad oder auch Android-basierte Geräte gestalten will, hat grundsätzlich zwei Möglichkeiten. Zum einen natürlich die native Programmierung mit den jeweiligen Entwickler-Kits, in den jeweils vorgesehenen Programmiersprachen und -frameworks. Unter iOS gilt es dann, Objective-C zu lernen und zu hoffen, dass sich Apple nicht an der einen oder anderen Eigenschaft unserer Applikation stört und die Aufnahme in den AppStore verweigert. Unter Android hingegen ist Java die Umgebung der Wahl, um native Apps zu programmieren. Probleme mit dem Market gibt es hier zwar auch, aber die haben glücklicherweise nichts mit Aufnahmeverfahren zu tun.

Aus vielerlei Gründen kann es aber durchaus sinnvoll sein, auf den ganzen nativen Quatsch zu verzichten und sich mit den guten alten Webtechnologien HTML, CSS und JavaScript auseinanderzusetzen. Damit lassen sich nämlich ebenfalls treffliche Apps realisieren. Wenn man weiß, wie:

Vor ein paar Tagen veröffentlichte JavaScript-Guru Thomas Fuchs ein paar Tipps zur Performance von iPad-Web-Applikationen (die natürlich genauso für’s iPhone und vermutlich auch für Android gelten.) Sein Fazit: Weniger ist mehr! Bilder reduzieren, wenig Transparenz und Schatteneffekte verwenden, JavaScript-Aufwand gering halten.

Bereits seit Frühjahr 2009 gibt es jQTouch, welches ein Framework für die Entwicklung von iPhone- und Android-Apps darstellt und auf der JavaScript-Bibliothek jQuery aufsetzt. (jQTouch-Apps laufen übrigens auch unter webOS, offiziell supportet wird es aber nicht.) jQTouch kombiniert bestimmte JavaScript- und CSS3-Techniken, erkennt Tap-Gesten, stellt zwei Basis-Stylesheets im typischen iPhoneOS-Look nebst passender Übergangs-Effekte zur Verfügung, und verpackt das Ganze in einer hübschen und sehr leicht zu begreifenden API, die sogar Webdesigner ohne professionelle Coding-Kenntnisse verstehen. Nachdem ich mir den kurzen und gut gemachten Screencast von Peepcode angesehen habe, konnte ich ohne größere Schwierigkeiten meine erste iPhone-WebApp für einen Kunden entwickeln, die hoffentlich in den nächsten Tagen mal erscheinen wird.

Wer es eine Runde fetter mag, wird wahrscheinlich mit Sencha Touch glücklich. Das neue Framework ist quasi so etwas wie der gemeinsame Nachfolger von ExtJS und jQTouch und wird von der frisch umbenannten Firma Sencha (ehemals ExtJS) angeboten. Da jQTouch jedoch parallel weitergeführt wird, stellt sich die Frage, worin der Unterschied der beiden Frameworks besteht, zumal der Erfinder von jQTouch nun bei Sencha arbeitet. Zum Glück gibt es Klärung in Form eines Blogartikels: jQTouch and Sencha Touch: Which is right for you?. Die Quintessenz: Sencha Touch richtet sich an echte Entwickler, welche meist eine andere (strukturiertere) Vorgehensweise bei der Erstellung von Applikationen haben als die Webdesigner-Frickler wie ich. Für letztere ist jQTouch gedacht, weil es einsteigerfreundlicher und zugänglicher ist, aber natürlich nicht so mächtig.

Was Sencha Touch drauf hat, kann man am besten in den Demo-Apps beobachten: Erkennung von Swipe- und Zoom-Gesten, iPad-typische PopOvers, eigenes JavaScript-basiertes Scrolling auf beliebigen Seitenelementen, Offline-Caching und mehr. Beeindruckend – das Solitaire-Game kann man auf dem iPad nicht von einer nativen App unterscheiden.

Ohne mich komplett intensiv damit auseinandergesetzt zu haben, verspricht Sencha Touch jetzt schon, zu einer Art »Xcode für WebApps« zu werden – das Schlechteste wär’s nicht, denke ich.

update am 16. August 2010: Am Wochenende wurde jQuery Mobile vorgestellt, das ab Jahresende höchstwahrscheinlich ungefähr ähnliche Dinge anbieten soll wie SenchaTouch. Auffällig hierbei die große Anzahl von aktuellen und zukünftigen Plattformen, die zumindest teilweise unterstützt werden sollen. Wenn das ganze mit jQuery-Syntax daherkommt, könnte das zu einem der interessantesten Tools werden – allerdings ist es noch verfrüht, die Sache zu beurteilen, denn noch hat man keine Zeile Code gesehen!

4 Kommentare

  1. Markus Schlegel am 25. Juni 2010 #

    Großen Dank für die Übersicht. Ich meine zwar, diese Frameworks sollten alle schon im Client integriert sein, aber solange man das noch nicht hat, muss man sich wohl mit JavaScript-Bibliotheken abfinden.

    Was leider immer noch fehlt, ist ein Bezahlmodell.

  2. Jeena Paradies am 26. Juni 2010 #

    Ich kenne keine einzige Web-App fürs iPhone, und ich nutze es schon seit zwei Jahren. Ich wüsste nicht mal wo ich danach suchen sollte.

  3. Frank am 23. Juli 2010 #

    Und das ist genau der Grund warum ich dabei skeptisch bin. Das haben doch gerade das iphone und Android gezeigt. Die User wollen eine App zentral in einem Store laden. Die muss eine UI haben die super aussieht und am schnellsten zu bedienen ist. Dafür geben Sie sogar ein paar Euros aus. Wer würde den für eine Webapp zahlen wollen.
    Technisch ist das schon beeindruckend was mit Javascript und HTML5 etc. alles möglich ist. Aber trotzdem werden diese Apps immer den nativen hinterherhinken.

  4. tobi am 19. November 2010 #

    [Zitat] Ich kenne keine einzige Web-App fürs iPhone, und ich nutze es schon seit zwei Jahren. Ich wüsste nicht mal wo ich danach suchen sollte. [/Zitat]
    So lange gibt es HTML 5 noch nicht aber so langsam ist die Zeit reif. Bisher gibt es hauptsächlich Beispiel apps der Framework entwickler.
    http://everytimezone.com/
    http://www.sencha.com/products/touch/demos.php
    oder hier die contest gewinner auf sencha.com
    http://www.sencha.com/products/touch/demos.php

    [Zitat] Die User wollen eine App zentral in einem Store laden. [/Zitat]
    Das ist klar, erst wenn der komfort stimmt wird es sich durchsetzen. Aber die online app Stores werden in den kommenden Monaten wie Pilze aus dem Boden sprießen.
    mozilla und google arbeiten unter hochdruck daran. Mobile Browser derivate der beiden Hersteller bilden die Grundlage zur integration.

    [Zitat] Wer würde den für eine Webapp zahlen wollen. [/Zitat]
    Die Unterscheidung Webapp und native app wird sich sicherlich auch schritt für schritt soweit relativieren bis sie völlig in vergessenheit gerät.
    localstorage unterstützung aller browser macht das offline arbeiten möglich.
    http://dev.w3.org/html5/webstorage/
    Internetverbindung wird in einigen Fällen nur benötigt um die Daten mit dem Server abzugleichen. Aber das muss man alles mal sehen.

    Grundsätzlich lässt sich aber sagen dass sich Javascript und HTML nach und nach zu den wichtigsten Hilfsmitteln zur Anwendungsoberflächenentwicklung mausert. Alles andere wird nur noch ein Nischendasein führen.
    Sage ich jetzt mal so :)

    Das Internet wird einfach toll

Kommentar schreiben

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