The Different Flavors of J2ME
Java Platform, Micro Edition—or Java ME, as it's called—provides a robust and flexible environment for applications running on mobile devices as well as other more specialized embedded devices. The list of devices includes mobile phones, personal digital assistants (PDAs), TV set–top boxes, printers, and more.
To support this rich device list, Java ME includes flexible user interfaces, security, built-in network protocols, as well as support for both networked and non-networked applications. The latter can even be downloaded dynamically if required. Applications based on Java ME are portable across many devices, while at the same time being capable of using the native capabilities of individual devices. This is clearly a rich and powerful environment.
The Java ME platform represents a collection of technologies and standards that can be combined to create a complete Java runtime environment specific to the needs of a particular device or market. To achieve this, the Java ME technology is based on three main elements:
- A configuration that provides the most basic set of libraries and virtual machine capabilities to suit a broad range of devices
- A profile or set of APIs that supports a more specialized set of devices
- An optional package or set of technology-specific APIs
In this article, I'll briefly review two toolkits:
- The Sun Java Wireless Toolkit for Connected Limited Device Configuration (CLDC) 2.5.2
- The Sun Java Toolkit 1.0 for Connected Device Configuration (CDC)
The Wireless Toolkit is used to develop applications for more capable wireless devices, i.e., devices with more memory and disk space. The CLDC defines what can be considered the base set of APIs, and a Java virtual machine for resource-constrained devices such as mobile phones, pagers, and personal digital assistants. The CLDC toolkit provides a solid Java platform for developing applications targeted at devices with limited memory, processing power, and graphical capabilities.
The Java Toolkit 1.0 for CDC is a set of tools for creating and maintaining applications hosted on a range of platforms, such as high-end wireless devices and TV set–top boxes.
To get started, you may want to download and install both of these toolkits.