Home > SOA Tips > .NET Developer > What is the .NET Compact Framework?
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

.NET DEVELOPER

What is the .NET Compact Framework?


Dan Fox
05.13.2003
Rating: -3.50- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



.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:

  • Portable subset of the Windows .NET Framework targeting multiple platforms. The Compact Framework was designed as a functional subset of the desktop Framework to target smart devices, including the Pocket PC 2000 and 2002, and devices running Windows CE .NET 4.1 and higher. The Compact Framework is not a simple port of the desktop version, however, but a complete rewrite designed to execute managed code on multiple CPU architectures and operating systems. It also includes compilers for VB and C#.
  • Leverage for VS .NET. The Compact Framework builds on the success of VS .NET as a highly productive development environment by providing project templates, an emulator, a debugger, and device integration for building mobile applications. Together, this is referred to as Smart Device Projects (SDP).
  • True emulation. To develop first-class mobile applications, developers need to be assured that the code they write will execute on the device. To support this goal, SDP includes both Pocket PC and Windows CE .NET emulators that execute exactly the same execution engine and class libraries as those installed on the device.
  • Support for enabling Web Services on devices. XML Web Services allows platform-independent access to information. Mobile devices are therefore a key part of the Web Services ecosystem, and consuming them from smart devices is made easy through the Compact Framework.

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. 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:

  • Server-side APIs, such as ASP.NET, Enterprise Services, MSMQ, and WMI support
  • COM Interop
  • OleDb and ODBC .NET data providers
  • Generic serialization
  • Asynchronous delegates
  • Application configuration files
  • .NET Remoting
  • Printing
  • XPath/XSLT
  • Multimodule assemblies

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:

  • Looking for free research? Browse our comprehensive White Papers section by topic, author or keyword.
  • Are you tired of technospeak? The Web Services Advisor column uses plain talk and avoids the hype.
  • For insightful opinion and commentary from today's industry leaders, read our Guest Commentary columns.
  • Hey Codeheads! Start benefiting from these time-saving XML Developer Tips and .NET Developer Tips.

  • Visit our huge Best Web Links for Web Services collection for the freshest editor-selected resources.
  • Visit Ask the Experts for answers to your Web services, SOAP, WSDL, XML, .NET, Java and EAI questions.
  • Choking on the alphabet soup of industry acronyms? Visit our helpful Glossary for the latest industry lingo.
  • Couldn't attend one of our Webcasts? Don't miss out. Visit our archive to watch at your own convenience.
  • Discuss this article, voice your opinion or talk with your peers in the SearchWebServices Discussion Forums.

Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Platforms and Servers
Tracking down managed memory leaks
Handling exceptions in .NET
.NET Compact Framework graphics
The Data Access Application Block
Decision time: .NET or J2EE?
A great .NET resource: .Net2TheMax
Delegates vs. interfaces in .NET
Project structure best practices
Working with PDFs in a .NET environment
Displaying errors with the error provider

Microsoft .NET Web services
Microsoft preps .NET 4.0 - framework improves on REST, MVC, JQuery support
How do I balance throughput requirements and interoperability?
APM software traces transactions across tiers, technologies
How you can learn M Grammar for Oslo modeling
Legacy modernization opens Windows for publisher
Former .NET Web developers ride Ruby and Rails application framework
Microsoft Oslo at PDC: Dial 'M' for modeling language
Yahoo proxy fight looms
New Microsoft site for architects
LAMP coders go hybrid route
Microsoft .NET Web services Research

.NET Developer
Programming Indigo
DataSets and Web services don't mix
Security in .NET 2.0
Tracking down managed memory leaks
Handling exceptions in .NET
.NET Compact Framework graphics
The Data Access Application Block
A great .NET resource: .Net2TheMax
Delegates vs. interfaces in .NET
Project structure best practices

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
Common Language Infrastructure  (SearchSOA.com)
Visual J#  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts