When Java was released in 1995, its strongest supporters painted a picture of a future in which desktop operating systems were an issue of the past, thanks to the strength of Java's "write once/run everywhere" promise. It seems somewhat ironic, then, to check up on the state of Java in 2002 and find that it is strongest on the server side (thanks to J2EE) and on the mobile device side (J2ME).
Meanwhile, Java's impact on the standard desktop has been negligible. Despite this, J2ME's impact on the mobile world is very real. Last year, I wrote four articles for InformIT.com that introduced the basics of J2ME development. A year later, in mid-2002, a number of J2ME devices are widely available from vendors such as Nokia and Motorola. RIM has also announced that Java will be at the core of its future devices; to back this up, RIM has released its new 5810 device (with voice and GPRS communications capabilities) complete with J2ME MIDP support on the device.
The future surely looks bright for J2ME, and software tool vendors are responding. In this article, I present a number of popular J2ME development tools and conclude with pointers to some popular online J2ME developer resources.
Sun J2ME Wireless Toolkit
Sun's J2ME Wireless Toolkit is often the first stop of J2ME developers because it is a free tool provided by Sun that supports both the J2ME Connected Limited Device Configuration (CLDC) 1.0.3 and the Mobile Information Device Profile (MIDP) 1.0.3 reference implementations. For those expecting a simplistic command-line tool (a la the Java 2 SDK command-line tools), think again. The J2ME Wireless Toolkit contains a number of powerful features that would be expected in higher-priced tools, including these:
Direct integration with the following IDEs: Sun ONE Studio, JBuilder MobileSet, Metrowerks CodeWarrior Wireless Studio, and Oracle 9i JDeveloper
Integration with the PalmOS Emulator (POSE)
Compiler, preverifier, and debugger
Emulators for a variety of form factors, including phones (generic and the Motorola i85s), PDAs, and RIM devices
Support for command-line or UI operation
Java Application Manager (JAM) to support the emulation of the network delivery of applications
Memory and network monitoring
Device speed emulation
In summary, the J2ME Wireless Toolkit includes a complete "starter" development environment. When combined with the Sun ONE Studio IDE (formerly Forte Tools), the toolkit supplies a complete development environment capable of handling the most stringent of developer requirements.
Also of note to device manufacturers is the Sun Java Wireless Device Solution Packages, which includes the Device Porting Package, Device Testing Package, and Device Custom Toolkit Package. This last option supplies companies with engineering services to customize the J2ME Wireless Toolkit for their own usage. For more information on this program, visit http://wwws.sun.com/software/jpe/wireless/.