Sonntag, 21. März 2010

Flash (Gordon) am iPhone

Nicht erst seit der Vorstellung des iPad ist Flash eines der am meisten diskutieren Features die Apple am iPhone-OS *nicht* anbietet. Das mag wohl einerseits an Adobe liegen, die sich möglicherweise zu wenig um (die Qualität) ihres Produktes kümmert. Andererseits ist dies natürlich auch eine Machtdemonstration Apples die aufgrund der immensen Anzahl an nativen Apps auf Flash einfach nicht angewiesen ist. In diesem Artikel geht es allerdings nicht um die Streitigkeiten zwischen Apple und Adobe, sondern es wird eine Möglichkeit gezeigt, wie man auch ohne Unterstützung von Apple Flash am iPhone ausprobieren kann.











Stein auf Stein
Zentrales Element ist das von Tobias Schneider entwickelten Javascript-lib "Gordon". Damit können moderne Browser mit einer schnellen Javascript Engine zumindest einfache Flash-Animationen darstellen. Die Einbindung in eine HTML-Seite ist dabei supereinfach. Der zweite Baustein ist jQTouch, ein jQuery-Plugin das die native Benutzeroberfläche des iPhone-OS nachbaut. Damit lassen sich - wie auch die Demos  zeigen - mit einem WebKit-basierten Browser wie Safari recht nette Effekte erziehlen. Wird statt Safari Chrome verwendet, so fehlen nur die nativen Web-Kit Animationen. Firefox funktioniert auch, sieht aber nicht mehr ganz so toll aus. Weitere Browser hab ich nicht getestet, interessan wär sicher der neue Opera, der ja zur Zeit die schnellste Javascript Engine haben soll.

Serviert

Um das Ganze im Internet bereitstellen zu können, ist natürlich ein entsprechender Webserver notwendig. Normalerweise würde bei einer so einfachen Aufgabe zu Ruby und Sinatra greifen, aber hierzu müßte ich einen entsprechenden Server anmieten. Google bietet mit der App Engine eine Lösung an, mit der man eigene Webapplikationen umsetzen kann. Hierzu stehen als Sprachen Java und Python zur Auswahl. In der kleinsten Variante sind damit keine Kosten verbunden und man braucht sich nicht um den Betrieb kümmern. Damit kann man zwar nicht alles machen, aber für den anvisierten Zweck ist die Lösung vollkommen ausreichend. Obwohl das Ganze in der Cloud läuft erfolgt die Entwicklung lokal und eine Internetverbindung ist nur zum Hochladen der App notwendig. Die kleine WebApp zum Abspielen der Gordon-Demo hab ich nach dem künstichen Mond "Arkaylia" des Planeten Mongo aus dem Comic "Flash Gordon" getauft. Die Einstiegseite ist arkaylia.appspot.com und der direkte Aufruf der Demos erfolgt über arkaylia.appspot.com/gordondemo/.


Im Unterschied zu den anderen Seiten (hier und hier ), welche ebenfalls Gordon-Demos zeigen, sind die Flash-Demos (SWF-Files) nicht direkt am Server gespeichert, sondern werden am Backend von der jeweiligen Quelle geladen. Mit diesem Ansatz ist es möglich durch Angabe der URL eine beliebige Flashdatei zu laden. Damit das wirklich funktioniert, braucht man allerdings eine Flashdatei, welche von Gordon unterstützt wird. Im Internet wird man sowas nicht ohne weiteres finden.

Fazit

Mit ein paar Zeilen Code ist ein möglich bestehende Lösungen ohne großen Aufwand zu kombinieren. Die Einstieghürde ist dabei erfreulich gering und die hier vorgestellte Kombination von jQTouch als Frondend und Googles App Engine als Webserver ist aktuell eine wirklich gute Möglichkeit Applikationen fürs iPhone zu entwickeln. Und Thobias Schneider hat mit Gordon gezeigt, welches Potential in Javascript steckt. Er wird übrigens einen Vortrag auf der von 17. und 18. April 2010 stattfindenden Javascript Konferenz http://jsconf.us/2010/speakers.html halten.

mfg. 3<



Read More !

Dienstag, 9. März 2010

Lotus Notes Kalender mit iPhone abgleichen - Teil 1.2

Version 0.1.5 von ncal2gcal steht ab sofort (2010-03-09) zum Download bereit. Wie immer gibt es neben dem gem-Paket eine Standalone Version. Das neue Zip-File mit der Standalone-Version ist ncal2gcal_portable_0.1.5.zip - die restlichen Links (siehe verhergehenden Post) sind weiterhin gültig.

Was ist neu?
Neu hinzugekommen ist die Option --sync-alarm. Damit besteht die Möglichkeit zu einem Termin auch einen gegenfalls definierten Alarm (als Popup) in den Google-Kalender zu übernehmen. So wie die Option --sync-desc welche zur Übernahme der Terminbeschreibung dient, wirkt auch die neue Option nur auf jene Termine, welche in Lotus Notes entweder neu angelegt oder geändert wurden. Nachdem der Google Kalender nur Reminder akzeptiert, welche maximal 4 Wochen und minimal 5 Minuten vor dem Termin liegen, erfolgt eine Anpassung falls der Alarm in Lotus Notes außerhalb dieses Bereichs liegen sollte.

mfg. 3<
Read More !