This article explores a solution for globalization applications in Java 2 Platform, Micro Edition (J2ME). It describes this solution throughout the software development life cycle, including requirements analysis, design, implementation, testing, and deployment. You’ll learn why globalization is important in J2ME applications, the guidelines for developing a globalization application, and how to implement these guidelines throughout the development cycle.
This is a good article. Another thing I was wondering is where is the line from j2me to j2se. an example would be my zaurus comes with j2me (jeode) preinstalled but could easily run j2se. would making greater storage capacities on devices that run j2me and just running j2se on them solve the problem? as for languages, i think a model view controller approach to design and rewritting the view to handle it may be the best approach. since screen sizes are small, i tend to hardcode positions and try to get the most out of the screen, if thats standard then porting a program to different languages would involve recoding the UI for optimal view in that language.
The zaurus actually uses a Jeaode PersonalJava JVM. Which is a little dated. PersonalJava is a 1.18 JDK spec JVM with some components stripped out. A full blown 1.3 JVM could run on a zaurus but it would quickly consume all of the memory, also a 400MHz XScale processor is fast for a PDA but hardly blazing. It is far better to strip down the JVM a bit to allow the PDA to run off less memory and reduce CPU load.
For actual coding you can make your code modularized and that will help in portability between PDA and laptop. Using something like OSGi helps in this as well. To get acceptable performance and battery life in a system that size you presently can get it cheap or powerful, but not both.
On a side note IBM does put out a 1.3 compliant PersonalProfile JVM that is complete as far as the PP/FP/CDC specification stack goes. I think the only thing not in PP is Swing, not positive though.