Press Release: March 25, 2002
Java 2 Micro Edition: It's Not Just Java Made Smaller. O'Reilly Releases J2ME in a Nutshell
Sebastopol, CA--Java's first incarnation was Oak, a programming language developed by Sun Microsystems in the early 1990s as part of a research project to build consumer electronic products. Kim Topley, author of J2ME in a Nutshell (O'Reilly, US $29.95) explains that the first prototype for Oak was a portable home controller called Star7: a small handheld device with an LCD touchscreen and built-in wireless networking and infrared communications. It could be used as a remote control for a television or VCR and had some of the same functions that are now associated for PDAs, such as appointment scheduling. Although the market for this device didn't develop, and no Oak-based devices were ever sold to consumers, Oak's life wasn't over. It was renamed Java and went on to enjoy fame as the ubiquitous write once, run anywhere language we know today.
"Ironically," Topley tells us, "while Sun was developing Java for the Internet and commercial programming, demand began to grow for Java on smaller devices and even on smart cards, thus returning Java to its roots." But unlike the desktop and server worlds served by other flavors of Java, the micro-world includes such a wide range of devices that it's not possible to create a single software to serve them all. Java 2 Micro Edition (J2ME) is a family of specifications that defines compact versions of the Java 2 platform that can be used to develop Java applications for cell phones, PDAs, pagers, set-top boxes and other resource-constrained devices. It is enough like Java to be familiar to Java programmers, and different enough to challenge them.
"J2ME is intended to be a mass-market technology," explains Topley. "Cell phone and PDA manufacturers have committed to J2ME and are including it in their products. Therefore, a large number of these devices will be shipped with in-built Java support. Cell phone manufacturers have been suggesting that they will sell many million such devices in 2002. This is clearly a very large market opportunity for developers and for the network providers themselves."
"When I started looking at J2ME," Topley adds, "it seemed to me that it was sufficiently different from the standard Java platform to be interesting to experienced Java developers, while still being Java and therefore a comfortable and familiar environment to work in. Although J2ME shares some of the core Java platform, it needs its own reference book because some of the shared packages and classes are different from the standard Java platforms, while others are exclusive to J2ME. It is, therefore, not sufficient to simply read 'Java in a Nutshell' to work with this platform. The intent of this book is to give existing Java developers the reference material that they need for J2ME together with a tutorial that leverages their existing knowledge and teaches them what is different about J2ME without boring them with details they already know."
J2ME in a Nutshell follows the familiar format of the bestselling Java in a Nutshell, including the trusted classic-style quick reference material for all the classes in the various J2ME packages. Its solid introduction to J2ME covers the essential APIs for different types of devices and deployments, the profiles, and the Java virtual machine functions that support those APIs. This book offers Java developers the reference material they'll need for J2ME, together with a tutorial that leverages their existing knowledge of Java, while teaching what is different about the Micro Edition.
"J2ME is aimed at what is hoped will be a very large market and therefore should make Java very visible outside the technical community," says Topley. "My book covers this topic using the proven and popular Nutshell format, which is very well known to Java developers. I want to emphasize that J2ME in a Nutshell uses the same style as Java in a Nutshell and is in fact, the Java in a Nutshell for small platforms."
This book is part of a multi-volume set of quick references that every Java programmer needs. It is a companion to Java in a Nutshell and Java Foundation Classes in a Nutshell, which cover the core, graphics, printing, and GUI APIs of the standard Java 2 platform. A third volume, Java Enterprise in a Nutshell, focuses on the Java Enterprise APIs and is of interest to programmers working on server-side or enterprise Java applications.