 |

Developing For The Windows CE Platform
by bryan morgan
There is a sense among many mobile industry watchers that, after biding their time for many years and taking the best
shot that Palm could give them, Microsoft is finally beginning to make a dent in Palm's dominant market share
position with their Windows CE operating system. There are a number of reasons for CE's insurgency but foremost
among them may be the perception that Palm's architecture is overaged and underpowered. Whether you buy into this or not,
if you're interested in developing for the Windows CE platform, there are a host of mature tools at your disposal. In
this article, I'll take a look at some of the most popular tools, including several that support cross-platform development
(including Palm OS support).
Leading the CE development tools pack is the Microsoft
eMbedded Visual Tools 3.0 product. The eMbedded Visual Tools replaced Microsoft's previous Windows CE Toolkits for
Visual C++ and Visual Basic. This product includes eMbedded Visual Basic and eMbedded Visual C++ with SDKs for
Pocket PC, Palm PC, and Handheld PC. Unlike earlier Microsoft WinCE tools, eMbedded Visual Tools does not require the
purchase of Microsoft's Visual Studio tool suite...a welcome change. While the new toolkit is available free of charge,
don't worry about getting short-changed. A full download of the eMbedded Visual Tools product is currently 720 MB
in size and includes complete development environments for both C++ and Visual Basic developers. Database access via
ADOCE and COM server support is available as are Pocket PC emulators for testing your applications. The eMbedded Visual Tools suite also
comes complete with a wealth of examples as well as the ActiveSync SDK for those up to the task of building their own
ActiveSync Service Providers (analogous to the development of a Palm OS conduit).
While the Microsoft eMbedded Visual Tools suite will be very familiar to experienced Windows developers, a number of other "independent"
tool developers are also aggressively supporting the Windows CE platform. NSBasic/CE is a Microsoft
certified Windows CE development product that actually uses the Microsoft VBScript engine as its core language processor. The product
is very similar to Microsoft's own eMbedded Visual Basic but it offers better performance and some extra bells and whistles (including
a host of additional controls and the ability to create objects at runtime). .NET developers will be happy to learn that a SOAP
client exists for Windows CE (written by Simon Fell, not Microsoft ironically). Pocket SOAP
has been successfully tested with SOAP servers such as the Microsoft SOAP Toolkit, Frontier, and Apache SOAP.
For those interested in developing an application once and deploying it to more than one platform, there are several
tools on the market that promise to do just that. For C developers, PenRight's MobileBuilder
IDE offers the ability to compile a single code-base for deployment on Palm OS, Windows CE, DOS, and Win32 handhelds. MobileBuilder
includes a graphical development environment that allows the developer to design forms to be displayed on the target platform. MobileBuilder
itself is not a compiler; instead, it makes use of other compilation products behind the scenes. (For instance, Visual C++ 6.0 is required
for Win32 applications while the PRC Tools are required to build Palm OS apps.) Note that this step requires some manual setup
by the developer but it's not a major task. MobileBuilder allows forms to be built by dragging-and-dropping components from
a toolbox within the environment. Event handlers can be generated (and connected to other components) through MobileBuilder's CodeAssistant
tool. For database applications, MobileBuilder includes excellent support for the popular Sybase SQL Anywhere Ultralite database.
Another approach to cross-platform development, of course, is Java. While no J2ME MIDP implementations currently exist
for Windows CE, two companies have actually developed more complete Personal Java runtime environments to the Windows CE platform.
Personal Java 3.0 includes support for JDK version 1.1.7 which means powerful Java technologies
such as JDBC and JNI are at your disposal. Insignia's Jeode and Kada Systems' Kada
are complete Personal Java implementations for Windows CE. (In fact, Kada is also available
for the Palm OS.) Both these tools offer Java's "Write Once, Run Anywhere" capability at the expense of losing Windows CE
platform-specific capabilities.
As you can see, the familiar C++, Visual Basic, and Java programming languages are well-represented on the Windows CE platform.
While these languages cover over 95% of all software development projects currently in progress, several other capable tools
are also available, depending on your application requirements. Whether you're building an in-house application or are interested
in developing a commercial application, the chances are good that Windows CE will be a target platform of yours in the future. Given
the quality of the tools discussed here, if you have any Windows or Java development experience, you should find the WinCE learning curve
to be a short one.
Bryan Morgan is an independent writer and software developer. He is a columnist with Wireless Internet magazine and was the founder of WirelessDevNet.com in 1999.
|
 |