App Entwicklung zum Anfassen – Sencha Touch und PhoneGap

In meinem Eintrag vom 07. April 2011 habe ich darüber geschrieben, wie schwer es für einen Anfänger auf dem Gebiet der App-Entwicklung sein kann, sich für eine Technologie zu entscheiden. Damals bin ich zu dem Entschluss gekommen, dass die native Entwicklung (Android) für mich wohl das Beste wäre. Entschuldigung, ich habe mich geirrt 🙂

Für meine aktuellen Projekte ist es nicht unbedingt erforderlich native Apps zu entwickeln. Ich benötige nicht die volle Power, die man aus dem Telefon holen kann. Native Steuerelemente wären zwar sehr schön, sind aber ebenfalls kein Muss. Warum also den Nachteil in Kauf nehmen, dass man sich für jede Plattform mit anderen Tools und anderen Sprachen herumschlagen muss? Das habe ich mich seit meinen ersten Versuchen mit Android und Co immer wieder gefragt. Immer wieder habe ich zu Titanium geschielt und es ausprobiert um es dann doch wieder zu verwerfen. Ich habe weiter gesucht, bin aber nicht so recht fündig geworden. Eine Alternative ist es mit dem Release des neuen Flash Builder 4.5, Apps mit Flex zu entwickeln. AIR läuft auf einigen Devices – warum also nicht!? Experimente mit AIR werde ich jedoch noch etwas verschieben, da ich mir zwischenzeitlich PhoneGap und X erneut angesehen habe – also die Möglichkeit Apps mit HTML+CSS+JS für verschiedene Plattformen zu entwickeln. X steht dabei sowohl für jQuery Mobile, jQTouch und Sencha Touch. Die ersten beiden sind schon nach kurzen Tests durchgefallen, weil sie teilweise noch etwas buggy waren. Simple Transitions haben einfach nicht richtig funktioniert. Schade! Aber dann war da noch Sencha Touch und ich muss sagen: Es ist ein Traum!

Wenn man sich allein die Doku oder die Beispielseite anschaut, wird man schnell große Augen machen. Bisher kam mir das Entwickeln mit HTML und JavaScript…nun ja…etwas unstrukturiert, etwas firckelig vor. Das mag möglicherweise auch an mir gelegen haben, aber das steht hier nicht zur Debatte 😛

Mit Sencha Touch ist es möglich Apps nach dem MVC Design Pattern zu entwickeln, was ich noch aus den PureMVC Tagen mit Flex zu schätzen weiß! Anwendungen lassen sich so wirklich wunderbar strukturieren und man hat wieder das Gefühl echte Software zu entwickeln, obwohl man sich ja eigentlich innerhalb einer Webseite befindet. Sencha Touch und Ext JS sind sehr eng miteinander verbunden, was Sencha Touch sehr mächtig macht.
Einen wirklich guten Einstieg in die Entwicklung mit Sencha Touch und PhoneGap bietet das Beispiel von Sencha selbst. Auch der erste und zweite Teil eines Sencha Tutorials von Jorge Ramon sind sehr zu empfehlen. Außerdem findet man mit dem großen Google viele weitere Seiten, die bei den ersten Schritten behilflich sein können.

Nun war ein weiteres Kriterium die Entwicklungsumgebung für die gewählte Technologie. Bei der nativen Android-Entwicklung war mit Eclipse schnell das entschprechende Werkzeug gefunden. Bei den WebView-Ansätzen wie PhoneGap brauchte ich etwas länger, um eine zufriedenstellende Lösung zu finden. Da ich kein großer Freund des Männerdebuggings per console.log bin, musste also ein richtiger Debugger her. Was liegt da näher als einen Browser zu nutzen!? Der Firefox mit FireBug fällt leider aus, da es sich um keinen Webkit-Browser handelt. Also muss Chrome herhalten. Wenn man diesen noch mit dem Zusatzparameter --allow-file-access-from-files startet, bekommt man auch keine Probleme, wenn man lokale Dateien nachladen möchte. Man muss nun nur noch die HTML-Seite des Projektes öffnen und kann daraufhin sehr einfach alles debuggen, was das Entwicklerherz begehrt.

Schnell fällt dabei eins auf: was mache ich mit PhoneGap!? Nun, PhoneGap stellt ja quasi nur die Verbindung zwischen der Webseite und dem Telefon her. In der Doku von PhoneGap findet man sämtliche Funktionen, die zur Verfügung stehen. Im Prinzip muss man sämtliche Aufrufe der PhoneGap-Funktionen wegmocken. Der Emulator von tinyHippos macht dies zum Beispiel. Leider hat er bei mir nicht richtig funktioniert und ich konnte keine lokalen Dateien nachladen, obwohl ich den Chrome entsprechend gestartet habe. Das schöne an JavaScript ist aber, dass wir die Funktion PhoneGap.exec einfach überschreiben können. Ich habe angefangen sämtliche Funktionen nachzubauen und werde die Ergebnisse demnächst unter www.phonemock.com veröffentlichen. Damit kann man dann die App einfach im Browser laufen lassen und hat zum Beispiel Zugriff auf ein virtuelles Dateisystem ohne auch nur eine Zeile Code ändern zu müssen. PhoneGap läuft also auf einer weiteren Plattform.

Also ich finde das WOW 🙂

4 Gedanken zu „App Entwicklung zum Anfassen – Sencha Touch und PhoneGap

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.