Appendix C - Embedded support
Carousel can be used to build applications for embedded devices and PersonalJava devices. Many differences exist between the lastest desktop Java VM and the VMs available for non desktop devices.
Choosing the JDK
The choice of JDK will depend on the various features available and how that feature set matches your requirements. For example on Windows CE platforms there are a number of JVMs available including Esmertec's Jeode and NSI's CreMe VMs. Licensing costs also vary between VMs and can be an important consideration.
While most VMs will at least support JDK 1.1.x there may even be differences between VMs at this level in terms of how the various libraries are implemented. An example of such differences can be found in the way various AWT widgets such as combo boxes are rendered on different VMs.
Some VMs support a more recent subset of the latest JDK but you will need to test such features to ensure that suitable behavior is obtained. It is not enough to test on the desktop and just deploy to an embedded device, but you probably knew that already.
Choosing the right libraries
In the underlying XUI platform some bits of code are excluded as they are not supported on early JVMs. For this reason a special build for the JDK 1.1.x compatible JVMs has been released (this also supports Internet Explorer's built-in JVM).
Rebuilding the libraries
If the JVM you are using does not match either the desktop or the JDK 1.1.x built then you will need to rebuild the XUI libraries.
Removing the shutdown hooks
The desktop build of XApplet includes a shutdown hook for purposes of logging some summary information to the console when the JCM shuts down. To build for early JVMs it may be necessary to exclude the classes in the net.xoetrope.xui.build.optional package from the build.
Real-time support
We are currently working on adding support for real-time Java (via RTJS). For further information please contact Xoetrope directly.
If you were logged in you could rate this article or add a comment.