Kada Systems' Kada VM
The Kada VM from Kada Systems is a PersonalJava implementation for not one but two popular platforms. Kada is currently available for both the PalmOS 3.5 (and greater) and Windows CE/Pocket PC devices. It allows developers to build one application under the platform of their choice and deploy it, unmodified, to the mobile platform of their choosing (taking into account differences in screen sizes or data input modes). In fact, while we'll examine other options for the Pocket PC, the Kada VM is the only available PersonalJava implementation for the PalmOS. A minimal Kada VM installation can be stored in only 155KB of memory, making it ideal for PalmOS devices with 2MB of memory. The Kada VM includes a bytecode interpreter, a class loader, and support for garbage collection and native methods.
The Kada development process is identical to that of a "standard" Java application, beginning with the implementation of a main() method. Once you're ready to deploy your application, the Kada Minimizer application runs on your desktop. The Minimizer serves two purposes:
It removes all unnecessary classes from your application to minimize the file size of the complete application.
It packages the complete application (including the contents of all Java archives) into a single file to be installed on the target device.
The Kada Installer tool is a HotSync conduit (for PalmOS users) that syncs the PDA device with the Installer tool running on the desktop. Once the application is installed on the desktop, it can be run using the Kada VM installed on the device. It should be mentioned that while the Kada VM targets the PersonalJava specification, it's not a 100% compliant implementation. Be sure to read through the Kada documentation to find out which features are not implemented yet. For more information, visit Kada Systems' web site, where you can enroll to be a member of their Mobile Developer Network to gain access to technical support and early-access releases of the software.