I started with understanding Windows CE. .Net compact framework and Windows Mobile. Windows Mobile is not Windows CE and vice-versa.
Windows CE is a small footprint, componentized, real time OS for large range of small devices like set-top boxes etc and runs on multiple processor architectures. It is componentized such that the user can choose and pick components /device drivers/ application to include in the final embedded system image for the device. It supports features like web browser, media player, office file viewer, support for .net compact framework and windows explorer shell would be of 18mb approx. There is no look and feel features of Windows and caters to devices some of which don’t even need user interface.
.NET Compact Framework has two main components: the common language runtime and the .NET Compact Framework class library.The .NET Compact Framework provides the data types and support for structures to allow you to easily incorporate functions from the Windows CE APIs into your application. The .NET Compact Framework implements a subset of the
System.Drawing classes, which allows you to construct a rich Windows CE-based user interface for your device application. Even the controls included have a subset of their desktop functionality. You have limited support for the following
- Work with data (whether from a relational or non-relational data source), including XML content, into your mobile applications
- Host Web Service clients
- support for the basic GDI drawing elements
- Ability to create multi-threaded applications (
System.Threading), use networking resources (
System.Net), and working with files (
.NET Compact Framework is divided into logical components and available as separate DLLs or assemblies as they are referred to within the .NET Compact Framework. It provides the flexibility of picking and choosing the features you need, and only those features that your target device has the space to hold. Effectively it contains approximately 30 percent of the full .NET Framework class library and also contains features and classes that are specific to mobile and embedded development. Please look at Differences Between the .NET Compact Framework and the .NET Framework to know the differences so that you can develop applications better.
Windows Mobile is a standard platform for PDAs and cell phones allowing common user interfaces, a common set of APIs and developer tool with WinCE kernel plus a standard shell, application, APIs. Windows mobile is a non componentized and comes with set of applications like Office mobile, internet explorer mobile, windows media player mobile etc, a radio interface layer (RIL) for connected devices, platform OS extension and APIs. Windows Mobile powered device is a mobile device powered by the Windows Mobile platform. Windows Mobile categories are explained below
|Mobiles||Windows Mobile 5.0||Windows Mobile 6.0|
Touch-screen and support for telephony
Support for telephony, but no touch-screen
Touch-screen, but no support for telephony