If you're a desktop or server-side developer who is interested in developing applications for one of the popular personal digital assistant (PDA) platforms such as Windows CE or PalmOS, you'll quickly find that the options, while somewhat familiar, differ substantially from the technologies you're accustomed to using. For instance, the most popular development tool for the PalmOS is Metrowerks C/C++. While you may be an experienced Windows Visual C++ developer, it should come as no surprise to learn that the PalmOS has a completely different set of APIs, making it virtually impossible to port Windows/UNIX C/C++ code to the PalmOS. Likewise, Microsoft Visual C++/Visual Basic developers will discover that the Windows CE variants of those same tools (packaged as the Microsoft eMbedded Visual Tools product) include alternative versions of popular Microsoft technologies such as MFC and ADO. I won't even address the other leading PDA development tools (such as Pumatech's Satellite Forms or PenRight's MobileBuilder) because they are PDA-only toolkits specifically engineered for these mobile platforms. If you're interested in one of these tools, plan on starting from scratch.
Amid the prospect of staff reeducation and code rewrites, another technology is quickly gaining on "traditional" PDA development tools in terms of capability, reliability, and acceptance. This technology is Sun's Java, and a number of very capable products are already on the market, each taking a different approach to delivering on Java's goal of "Write Once, Run Anywhere." In this article, I'll examine Java technologies such as PersonalJava and J2ME, and take a brief look at new tools from Kada Systems, Insignia, and SavaJe.