<pre> Author/s : Daryl Wilding, McBride Publisher : Addison Wesley Category :Miscellaneous Java Review by : Salman Halim Rating : 8 horseshoes</pre> The book compares and contrasts development in Java on both Palm and PocketPC PDAs. For each topic covered, the book explains how it's implemented in Palm (MIDP) and how it's done in PersonalJava (PocketPC). Right off the bat, one notices that there is very little difference between standard Java 1.1.8 and PersonalJava; however, Java for the Palm is different (this makes sense, given that most Palm devices have fewer resources). This is NOT a Java teacher. It covers the API for PDAs and assumes that the reader has enough Java experience to be able to work with statements like "PersonalJava supports the full set of AWT layouts." One nice touch is that the book doesn't just describe how the reader can write code for each of the systems -- along with going into some detail about what is needed to set up an inexpensive (almost free) development environment on a desktop, the book also comes with (updated and) downloadable Ant scripts to aid in converting code to PDA Jar files: point the Ant build file to your code and it'll not only compile the code for the PDA, but even has a task to create a shortcut to execute it on the PDA (for PocketPC systems). Recommendation: If you have a Palm, get the book. If you have a PocketPC, see what you can dig up on the Internet first -- if you're stuck, get the book.
Here's my review: Doing development for PDAs is a bit complex as different PDAs support different J2ME implementations. The two main J2ME implementations available for PDAs are MIDP, which is available on most Palm devices, and PersonalJava, which is available on most PocketPC and Windows CE devices. This book covers both of these implementations and explains the differences between the two in clear and concise language. The book is relatively short at about 200 pages but it covers the material in sufficient depth to get you started in developing for both of these environments. The book starts off by explaining the many different configurations and points out which configurations are available on which devices. Next, after showing us how to set up a test environment, the author discusses the coding issues involved with working with devices with limited memory and speed. The next few chapters discuss developing a user interface, storing data, networking, and accessing web services. The differences between MIDP and PersonalJava are pointed out in each section with plenty of code samples demonstrating these differences. The book is written for anyone with a basic knowledge of Java. No knowledge of J2ME is assumed and you don't even need a PDA to run the provided code (although how to get your code on your PDA is discussed). You should be familiar with Ant to make use of the provided build scripts. The book serves mostly as a tutorial although it could be used as a reference as well. Although there are several books out that cover developing for MIDP, there is very little information available for PersonalJava and for comparing MIDP with PersonalJava. This book fills that slot nicely.