Kleines Update zu jQTouch, jQuery Mobile und künstlichem Scrolling

Wenn man derzeit eine iPhone-Webapplikation erstellen möchte, die sich so ähnlich wie eine native App anfühlen soll (Sweet Solution, wir erinnern uns…), stößt man unweigerlich auf drei brauchbare Frameworks, die einem einen Großteil der Arbeit abnehmen und fast schon automatisch sehr iOSige Interfaces auf den kleinen Screen zaubern: jQTouch, Sencha Touch und jQuery Mobile.

Derzeit wohl am spannendsten zu beobachten ist jQuery Mobile, weil hier der Anspruch gehegt wird, kompatibel zu allen möglichen mobilen Plattformen zu sein, die auf WebKit basieren (also alle ernstzunehmenden). Ich werde in meinem nächsten mobilen WebApp-Projekt, das ab Anfang nächsten Jahres ansteht, wahrscheinlich auf jQuery Mobile setzen – unter anderem habe ich ein gutes Gefühl, weil das Entwicklungsteam echte Geräte von den Herstellern gesponsert bekommt, um die geforderte Kompatibilität auch tatsächlich zu gewährleisten.

Abgesehen davon habe ich heute jedoch via Jens Grochtdreis eine sehr feine jQTouch-App entdeckt. Sie macht etwas sehr Selbstreferenzielles, bildet nämlich die jQuery-API ab. Eine Besonderheit ließ mich jedoch aufstutzen: diese App implementiert fixe Titelleisten und somit auch künstliches JavaScript-Swipe-Scrolling. Wie jeder weiß, unterstützt das iPhone aus konzeptionellen Gründen keine fixe Positionierung von HTML-Elementen, so dass man hier üble Tricks anwenden muss, wenn man scrollbare Bereiche und feste Titlebars haben möchten.

Diese Tricks sind nicht Bestandteil von jQTouch, doch der Macher der jQuery-API hat eine feine Implementierung als Erweiterung geschrieben, die er auch freundlicherweise bei github zur Verfügung stellt – sie heißt Scrollable und kümmert sich um performantes Scrolling über CSS3-Transitions, sowie die Erkennung der unterschiedlichen Swipe-Gesten per JavaScript

Glaubt mir, sowas möchte man nicht selber programmieren!

Die Sache fühlt sich natürlich nicht gänzlich nativ an, kommt aber nahe dran und ist eben schön integriert – klasse! Denn wenn mich bisher etwas gestört hat an jQTouch, dann ist es dieser hässliche »Sprung nach oben« vor der Slide-Animation, wenn man sich eine Navi-Ebene weiter bewegen wollte …