Windows CE: More Than iPAQ!
I just mentioned the need to cover the CE platform itself, which might have seemed puzzling to some readers. In my opinion, this is necessary due to the growing visibility of certain segments of the platform as compared to others. For instance, I'd venture a guess that the average semi-computer-literate individual equates Windows CE with the Compaq iPAQ, due to that device's stunning success over the past two years. (It has been said that Compaq's PDA revenues outpaced once-dominant Palm's in recent quarters!) In fact, however, the following description from Microsoft reveals that CE is envisionedand currently availableon a wide range of mobile devices and hardware architectures:
Designed from the ground up for the embedded marketplace, Windows CE .NET delivers a robust real-time operating system for rapidly building the next generation of smart mobile and small footprint devices. With a complete operating system feature set and end-to-end development environment, Windows CE .NET contains everything you need to create a custom Windows CEbased device that requires rich networking, hard real-time, and a small footprint, as well as rich multimedia and Web browsing capabilities. A variety of form-factors are currently available, all running some form of the Windows CE kernel. These form-factors include:
Pocket PC320 x 240 screen size, pen-based input, PDA form factor
Handheld PC640 x 240 screen size, extended battery life, keyboard; UI more closely related to Win32
Smart PhoneVoice/data capabilities, color screen, ActiveSync synchronization, Integrated applications suite
Windows CE for Automotive/Car.NET"Skinnable" GUI, voice-activated command interface, integrated Win32 APIs (DirectX, DirectShow, etc.)
This brings up one interesting point: There are actually two types of Windows CE development:
OEMs interested in running the Windows CE operating system on their own hardware architecture. This involves the construction (from core components), testing, and debugging of a complete operating system build using the Microsoft Windows CE Platform Builder tool. Microsoft currently supports five CPU types: ARM, MIPS, PowerPC, 80x86, and SH (click for the complete list of supported hardware).
In this series, I'll assume that you're not interested in developing your own Windows CE distribution. (If you are, I hope you already have a wealth of CE experience behind you!) Instead, you're interested in Windows CE application development, so we're going to zero in on Microsoft's recommended development tools: the eMbedded Visual Tools suite (for "native" platform development) and Visual Studio .NET (for "managed" platform development).