Web oder App? - Das ist hier die Frage

jQuery Mobile vs. Sencha Touch
Kommentare

Um den Startschuss fürs Mobile Web zu geben, bieten die Frameworks Sencha Touch und jQuery Mobile beste Voraussetzungen, doch sie haben teils gravierende konzeptionelle Unterschiede. Jakob Westhoff (Qafoo) und Hans-Christian Otto (crosscan) stellten auf der IPC/WTC 2012 die wesentlichen Unterschiede vor: „jQuery Mobile vs. Sencha Touch“ oder: Web oder App? Denn die Frameworks dienen im Grunde ganz unterschiedlichen Ansprüchen.

Mobile-Systeme und -Devices überfluten den Markt und bedeuten eine ernstzunehmende Konkurrenz, wenn nicht sogar einen Ersatz für den Desktop-Computer. End-User erwarten auf den unterschiedlichsten Geräten eine gleichbleibende und hochwertige User Experience: Die Webapplikation muss sich den Bedürfnissen der Anwender anpassen – Entwickler stehen vor der Herausforderung, dem zu entsprechen. „Responsive Design“ lautet das Buzzword, wenn es um Kompatibilität zu mobilen Endgeräten geht: ein Layout, das sich an das aktuelle Darstellungsmedium anpasst. So können die Spalten einer Webseite zum Beispiel auf einem Telefon untereinander statt nebeneinander angezeigt werden. Menüs können angepasst werden, um dem kleineren Display zu genügen. Bilder können anders skaliert werden, um den vorhandenen Platz optimal auszunutzen.

Auch wenn diese Technik grundsätzlich eine sehr gute Idee ist, so sollte sie dennoch in Maßen eingesetzt werden, denn sie ist bei Weitem kein Allheilmittel für das Problem wachsender Fragmentierung internetfähiger Geräte.

Auf mobilen Devices ist die Verwendung eines spezialisierten Frameworks für mobile Applikationen zwingend. Zwei unterschiedliche Vertreter dieser Gattung von Frameworks zur mobilen Anwendungsentwicklung sind Sencha Touch und jQuery Mobile. Auch wenn beide Frameworks für das Mobile Web zugeschnitten sind: „Sie sind in ihrer Natur sehr unterschiedlich“, so Westhoff und Otto. Während jQuery Mobile darauf setzt, mit semantisch strukturiertem HTML-Code das Grundgerüst der Applikation zu definieren, ist der HTML-Body einer Sencha-Touch-Anwendung meist leer und dient lediglich als Fundament, das während der Initialisierung durch das Framework mit Leben gefüllt wird. jQuery Mobile setzt auf das Prinzip des Progressive Enhancement. Semantisches HTML, kombiniert mit einigen Annotationen, dient als Ausgangspunkt, um während des Bootstrapping der Applikation alle benötigten dynamischen Eigenschaften zu ergänzen. Auch komplexere Widgets können so mittels HTML definiert werden. Die Navigation bekommt man bei jQuery quasi umsonst: „Anker werden automatisch angeordnet, ohne dass wir auch nur eine Zeile JavaScript-Code schreiben müssen“, so Westhoff.

Sencha Touch setzt an einem anderen Punkt an. Die Definition der einzelnen Komponenten erfolgt hier nicht durch semantisches HTML, sondern durch objektorientierten JavaScript-Code, mit dessen Hilfe die View programmatisch erstellt und verwaltet wird.

Die beiden Projekte unterscheiden sich nicht nur in ihrem Umgang mit dem Applikationsaufbau, sondern verfolgen ebenfalls grundverschiedene Projektphilosophien. Dies schlägt sich nicht nur im Aufbau und Aussehen der Applikationen nieder, sondern führt auch zu einer vollkommen unterschiedlichen Priorisierung beim Umgang mit Eigenarten und Tücken mobiler Plattformen. Sencha Touch orientiert sich maßgeblich am Aussehen und Verhalten nativer Applikationen und versucht dieses so präzise wie möglich mittels moderner Webtechnologien nachzubilden. jQuery Mobile hingegen stellt lediglich ein Framework bereit, das auf die speziellen Bedürfnisse des mobilen Marktes zugeschnitten ist. Primäres Ziel ist hierbei nicht der Nachbau nativer Applikationen, sondern die Anpassung an neue Gegebenheiten wie Touchscreen-Interfaces, kleinere Displays und eingeschränkte Übertragungsbandbreite.

Sencha Touch kann sein volles Potenzial lediglich auf Browsern der WebKit Engine entfalten, da es darauf optimiert ist. Diese Einschränkung erlaubt die Verwendung diverser moderner Funktionalitäten und erleichtert die Simulation einer nativen App. Natürlich ist durch diese Entscheidung die Verwendung des Frameworks auf Android, iOS und BlackBerry beschränkt, doch, so Otto: „Das ist kein großes Problem, damit hat man den Großteil des Marktes schon abgedeckt.“

jQuery Mobile hingegen hat eine deutlich größere Anzahl an Zielplattformen. Es wird hier rigoros auf bestimmte Features verzichtet, um eine möglichst große Menge unterschiedlicher Plattformen zu unterstützen.

Sowohl jQuery Mobile als auch Sencha Touch sind solide Frameworks zur Entwicklung mobiler Web Apps. Beide Varianten haben dabei eine klare Daseinsberechtigung in ihrem Bereich. So liefert Sencha Touch viele unterschiedliche Widgets, deren Sinn und Zweck es ist, native Komponenten einer mobilen App so präzise wie möglich nachzuahmen. Natürlich wirkt sich dieses Vorgehen negativ auf die Downloadgröße des Frameworks aus. jQuery Mobile hingegen versucht nicht, ein bereits bestehendes UI zu kopieren, sondern sich lediglich den Gegebenheiten der besonderen Natur mobiler Geräte anzupassen.

Ein weiterer, sehr maßgeblicher Unterschied zwischen den beiden Frameworks ist der Umgang mit Objektorientierung. Während Sencha Touch ein eigenes Klassensystem mitbringt, das sich an herkömmlichen klassenbasierten Sprachen wie PHP orientiert, bietet jQuery Mobile nichts derartiges und setzt auf das bereits aus jQuery bekannte Plug-in-Konzept. Letztlich läuft die Entscheidung allerdings auf eine Frage hinaus: Benötigt das umzusetzende Projekt mehr App oder mehr Web? Denn hier liegt der klare Unterschied der beiden Frameworks. jQuery eignet sich besonders gut für Applikationen mit statischem Content, Sencha Touch hingegen legt den Fokus auf dynamische Inhalte.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -