.NET Developer Tip
(Receive this column in your inbox,
click Edit your Profile to subscribe.)
What is the .NET Compact Framework?
Dan Fox
A year after the initial release of the .NET framework, Microsoft has added to it and Visual Studio .NET by releasing the .NET Compact Framework and Smart Device Projects (SDP) as a part of Visual Studio .NET 2003. This tip, excerpted from InformIT, briefly overviews the first of these two facets of Microsoft's support for building applications on smart devices.
I'll begin by providing an overview of the Compact Framework by addressing its goals, followed by an overview of the execution engine and class libraries.
Briefly, the Compact Framework was designed to fulfill four primary goals:
As mentioned, the Compact Framework includes an execution engine analogous to the Common Language Runtime in the desktop Framework that was written from the ground up to support smart device applications. This engine is composed of a variety of features, including a class loader, a type checker, a JIT compiler, thread support, exception handling, and a garbage collector. The execution engine itself is layered on top of the Platform Adaptation Layer (PAL) and Native Support Libraries (NSL). The PAL contains a variety of subsystems that expose functionality of the underlying operating system and hardware to the execution engine through a consistent set of APIs. This allows the Compact Framework to be easily ported to various hardware platforms by OEMs who provide platform-specific PALs
To continue reading for free, register below or login
To read more you must become a member of SearchSOA.com
');
// -->

. The NSLs are lower-level services that level the playing field for operating systems by supporting features that the execution engine requires but that might not be present. Examples include file-system operations and window and heap management.
The second part of the Compact Framework is the set of class libraries that developers access when writing applications. This is where developers see the biggest difference between developing for the desktop and developing for mobile devices. Because of the resource constraints of smart devices, the Compact Framework class libraries are necessarily a subset of those found on the desktop. As a result, they consist of approximately 1,700 of the 6,000 types (25%) found in the desktop Framework. Some of the core functionality missing from the Compact Framework includes the following:
In addition, developers will discover that where in the desktop Framework there might be several ways to accomplish a specific task, in the Compact Framework there might only be one. Also, many of the additional overloaded method signatures have been removed. However, the Compact Framework includes a couple of namespaces not found in the desktop Framework, including Microsoft.WindowsCE.Forms, to deal with input on smart devices, and System.Data.SqlServerCe, to program against Microsoft SQL Server 2000 Windows CE Edition 2.0 databases (which ships with VS .NET 2003, by the way.
To read the entire article from which this tip comes, click over to InformIT. You have to register there, but the registration is free.
For More Information: