tiny little gizmos

Freuden des Entwicklerdaseins

Manchmal denke ich, daß mit steigendem Alter die Frustgrenze sinkt. Ich wollte über das Wochenende ‘mal eben’ (HA!) ausprobieren, wie Entwicklung mit PhoneGAP so funktioniert.

WZG ist phoneGAP?

Wie der Name nahelegt, kann man damit Software für Telefone entwickeln und damit eine Lücke schliessen. Die tollen neuen Smartphones, wie iPhone, Android, Blackberry, Palm und Symbian sind alle wahre kleine Wunderwerke mit 1000 tollen Funktionen, wie GPS, Bewegungsmesser und so weiter. Diese Dinge lassen sich aber nur ansprechen, wenn man eine “richtige” Software programmiert und auf das Telefon lädt. Selbstredend ist die Softwareentwicklung auf all den genannten Plattformen sehr unterschiedlich. “Softwareentwickler sind rar, also lass uns die Telefonsoftware doch in HTML/CSS/Javascript schreiben. Das können mehr Leute” haben sich da ein paar schlaue Menschen gedacht und phoneGAP entwickelt.

Damit schliesst sich die Lücke zwischen den verschiedenen Betriebssystem und Webentwicklung. Man kann damit also z.B. per Javascript auf GPS und Kamera zugreifen. Zudem ist die damit entwickelte Software ohne Änderung auf all den oben genannten Plattformen lauffähig.

Ran an die Buletten

Soviel jedenfalls zur Theorie. Und genau diese wollte ich jetzt mal überprüfen. Ich wollte eine Mini-Applikation für Android programmieren, da ich ja zufälligerweise den tollen HTC Hero mein eigen nenne. Und jetzt fängt der Spass an: Bevor man mit PhoneGAP eine Applikation bauen kann, muss man nämlich bereits eine Entwicklungsumgebung für Android laufen haben. Dazu benötigt man natürlich das Android-SDK (Software Development Kit). Entwickeln tut man geschickterweise mit Eclipse, was ich auch auf meinen Rechnern verwende – aber leider in einer alten Version. Also erstmal eine neue installieren. Das Java SDK6 ist auch notwendig, aber kein Problem. Sowas ist auf den Apple Macs ja bereits installiert.

Zunächst überprüft man also, ob das Java SDK und Eclipse auf dem neuesten Stand sind und man eine normale Java Anwendung damit bauen kann. O.K., geht. Jetzt das Android SDK installieren und sofort ein Update fahren lassen und die APIs der verschiedenen Android-Versionen installieren. Geht zunächst nicht, weil dabei ein HTTPS-Fehler auftaucht. Falsches Server Zertifikat nehme ich an. Immerhin kann man einstellen, daß stattdessen unverschlüsselt übertragen werden soll. Die Hinweise, daß die Software nicht richtig zertifiziert ist und man die automatische Datenübertragung zu Google bei der Installation nicht abschalten kann, nehme ich mal etwas genervt zur Kenntnis. Anschliessend das Android-Plugin in Eclipse herunterladen und einbinden, damit die APIs und Telefonemulatoren angesprochen werden können. Jetzt noch schnell ein virtuelles Telefon zusammengebaut (“einmal mit Touchscreen, Kamera und GPS bitte…”) und ein Hello World zum laufen bringen. Jetzt ist man auf dem Stand, ein normales Android Programm entwickeln zu können.

Fast.

Das Problem, mit dem ich den heutigen Nachmittag sinnlos verplempert habe: Auf meinem Notebook funktioniert es und auf dem iMac schmiert der Emulator beim Start ab – und zwar jedes Mal. Identisches Betriebssystem (OS X 10.6.2), identisches Java SDK, identisches Android SDK und identische Einstellungen auf beiden Rechnern. Nichts zu machen – auf dem iMac läuft es einfach nicht. Toll! Ich bin echt begeistert und habe für heute einfach keinen Bock mehr…