Die Wege für die Java-Entwicklung auf dem PocketPC sind nicht so eben wie die für C# oder andere .NET-Sprachen. Sun vernachlässigt die PDA’s als Plattform und IBMs Virtual Machine J9 schreckt manchen Entwickler mit relativ hohen Lizenzkosten für die VM. Dennoch gibt es nach einigem Suchen verschiedene Alternativen, von denen ich zwei genauer beschreiben will:
- Die ewe-VM von Michael Brereton beinhaltet eine abgespecke Klassenbibliothek und eine virtuelle Machine die fast vollständig Java1.3 kompatibel ist. Mit der umfassenden Doku hat man sich schnell eingearbeitet und die Klassenbibliothek ist der Java-Klassenbibliothek so ähnlich, dass sich der erfahrene Programmierer schnell zurechtfindet. Mit ewe erstellte Programme laufen auf verschiedenster Hardware und Betriebsystemen, leider nicht PalmOS, was die mögliche Zielgruppe ein wenig einschränkt. ewe bietet eine Menge an Funktionen, leider fehlenen noch spezielle Schnittstellen für Sound und GPS. Die Entwicklung der Programme kann man bequem in gewohnten Entwicklungsumgebungen, wie z.B. Eclipse vornehmen.
- Superwaba wird von einem kommerziellen Anbieter unterstützt und existiert in einer freien GPL-Version und einer kommerziellen Variante. Programme die mit der kostenfreien entwickelt wurden stehen den Lizenzbedingungen nach unter der GPL. Wer dies nicht will, muss die kostenpflichtige Variante wählen. Superwaba-Programme können unter PalmOS, PocketPC und Symbian ausgeführt werden. Die Klassenbibliothek stellt hauptsächlich „low-level“-Bibliotheken zur Verfügung unterstützt aber auch Sound und GPS. Nach eigenen Angaben ist Superwaba zu 99% Java-kompatibel und verarbeitet Bytecode der mit einem Standard-Java-Compiler erzeugt wurde.
Eine Entscheidung zwischen beiden Umgebungen würde ich basierend auf den Projektanforderungen vornehmen. Für Spieleprogrammierung oder einen neuen MP3-Player ist Superwaba aufgrund der Soundunterstützung besser geeignet. Die Implementierung von Menüs und Dialogen ist beispielsweise unter ewe bequemer. Das Lizenzmodell mag auch ausschlaggebend sein. Das Lizenzmodell von Superwaba ist wirklich fair, ewe jedoch ist royalty free.
Eine ältere Ãœbersicht über weitere VM’s gibt es hier.. Eine weitere interessante Entwicklung in jüngster Zeit ist auch die Mysaifu JVM.
Update: Einen neueren Artikel zum Thema gibt es hier