queo blog

Getting started mit Sencha Touch 2 auf Windows (7)

Um plattformübergreifend mobil zu entwickeln, gibt es mehrere Möglichkeiten, die eigentlich alle ähnlich funktionieren. Häufig wird ein einfacher WebView in der entsprechenden Plattform erzeugt (iOS, Android, BlackBerry usw.) und dann eine HTML/JS-Anwendung da drin geladen. Andere Frameworks kompilieren eine Sprache wie JavaScript in eine native App um (z.B. direkt zu Java oder Objective-C).

Beliebte Frameworks sind aktuell Titanium und Cordova (ehemals Phonegap), wobei Cordova mehr Zielplattformen unterstützt. Titanium hat dagegen den Vorteil, keine Zwischenschicht in der eigentlichen App mehr zu haben, da eine native App beim Kompilieren rauskommt. Das UI muss also nicht “nachgebaut” werden, da es eben die nativen Elemente nutzt. Sicherlich ist es dadurch auch ein wenig performanter als die Web-View-Lösung.

Die Auswahl an JavaScript- und CSS-Frameworks für die (Web-View-) Anwendung selbst ist dann noch größer. Hier kann man zwischen jQuery + jQuery mobile oder Sencha Touch und noch vielen mehr wählen.

Wir haben vor kurzem eine App für Android und iOS nativ umgesetzt, wollten nun aber für Blackberry die Umsetzung mit einem Framework testen und haben uns hier für Cordova (Titanium unterstützt kein Blackberry) entschieden. Zuerst wollte ich jQuery mobile als JS-Framework verwenden, was sich aber nicht bewährt hat. Deshalb vertraute ich auf mehrere Empfehlungen für Sencha Touch und wollte das Projekt nun umstellen. Im “Getting Started“-Video auf der Sencha-Website geht auch alles flüssig von der Hand (vielleicht weil’s auf einem Mac ist? :-) , auf meinem Windows 7-Rechner hatte ich jedoch ein paar Probleme, die ich hier kurz teilen möchte.

Als erstes lädt man sich Sencha Touch herunter. Dass für ein “nur” JavaScript-Framework über 80 MB Download anfallen, hat mich schon etwas überrascht. Beim Ausprobieren stellte sich schnell Ernüchterung ein, da das Konsolentool zum Anlegen eines neuen Projektes ganz und gar nicht recht funktionieren wollte. Fehlermeldungen wie “Command jsb not recognized” oder “ReferenceError: require is not defined” traten auf. Nach kurzer Recherche bemerkte ich, dass mir offensichtlich die Konsolentools des SDK noch fehlen, die man separat (ganz unten) herunterladen muss.

Nun gab es noch das Problem, dass die sencha.bat-Datei sowohl im SDK als auch mehrfach in den SDK-Tools liegt. Welche ist also die Richtige? Die aus dem (80 MB großen) SDK! Wenn man auf der Konsole in das Root-Verzeichnis des entpackten ZIPs wechselt und dann “command\sencha.bat” aufruft, kommt die richtige Hilfe. Nun kann man, dem Tutorial folgend, verfahren und sein Projekt anlegen usw.

Ich hoffe, dem einen oder anderen hilft dieser kleine Hinweis ein wenig weiter.