.NET Compact Framework
Encyclopedia
The Microsoft .NET Compact Framework (.NET CF) is a version of the .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 that is designed to run on resource constrained mobile/embedded devices such as personal digital assistant
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

s (PDAs), mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

s, factory controllers, set-top box
Set-top box
A set-top box or set-top unit is an information appliance device that generally contains a tuner and connects to a television set and an external source of signal, turning the signal into content which is then displayed on the television screen or other display device.-History:Before the...

es, etc. The .NET Compact Framework uses some of the same class libraries as the full .NET Framework and also a few libraries designed specifically for mobile devices such as .NET Compact Framework controls
.NET Compact Framework controls
-Overview:The Microsoft .NET Compact Framework is a sub-library of .NET framework. It simplifies the mobile application development of smart devices. These are to a large extent limited by the screen size, CPU performance or memory capacity. .NET compact framework takes some of the controls and...

. However, the libraries are not exact copies of the .NET Framework. The ones in the .NET Compact Framework are scaled down to use less space.

Development

It is possible to develop applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 which use the .NET Compact Framework in Visual Studio .NET 2003, in Visual Studio 2005 and in Visual Studio 2008, in C# or Visual Basic .NET
Visual Basic .NET
Visual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...

. Applications developed with Basic4ppc
Basic4ppc
Basic4ppc is a programming language for Smartphones and Pocket PC handheld computers running Windows Mobile operating system, by Anywhere software...

 are also eventually compiled for the .NET CF. The resulting applications are designed to run on a special, mobile-device, high performance JIT compiler
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...

.

The Microsoft .NET Compact Framework 3.5 Redistributable contains the common language runtime and class libraries built for the .NET Compact Framework. In addition to version 3.5 support, it also supports applications developed for version 1.0 and 2.0. The .NET Compact Framework 3.5 provides new features such as Windows Communication Foundation, LINQ, SoundPlayer, new runtime tool support, and many other features.

The UI development is based on Windows Forms
Windows Forms
Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...

 which is also available on the desktop version of the .NET Framework. User interfaces can easily be created with Visual Studio by placing .NET Compact Framework controls
.NET Compact Framework controls
-Overview:The Microsoft .NET Compact Framework is a sub-library of .NET framework. It simplifies the mobile application development of smart devices. These are to a large extent limited by the screen size, CPU performance or memory capacity. .NET compact framework takes some of the controls and...

 like buttons, text boxes, etc. on the forms. Also features like data binding are available for the .NET CF. A major disadvantage of the UI development is that modern looking applications with support for finger-based touch screen interaction are not that easy to implement. This is mainly due to the desktop-oriented user interface concept on which WinForms is based, although some third party libraries with custom controls for this purpose are available.

Deployment

To be able to run applications powered by the .NET Compact Framework, the platform must support the Microsoft .NET Compact Framework runtime. Some operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s which do include .NET CF are Windows CE 4.1, Microsoft Pocket PC
Pocket PC
A Pocket PC is also known by Microsoft as a 'Windows Mobile Classic device'. It is a hardware specification for a handheld-sized computer, personal digital assistant , that runs the Microsoft 'Windows Mobile Classic' operating system...

, Microsoft Pocket PC 2002, Smartphone 2003, and Symbian v3. .NET Compact Framework applications can be run on desktop computers with the full .NET Framework as long as they only access the shared parts of both frameworks, though their user interface can not be upgraded to look like that of an application developed for desktop PCs.
A version of the .NET Compact Framework is also available for the Xbox 360
Xbox 360
The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...

 console. While it features the same runtime as the regular .NET CF, only a subset of the class library is available. This version is used by XNA Framework
Microsoft XNA
Microsoft XNA is a set of tools with a managed runtime environment provided by Microsoft that facilitates video game development and management. XNA attempts to free game developers from writing "repetitive boilerplate code" and to bring different aspects of game production into a single system...

 to run managed games
Managed code
Managed code is a term coined by Microsoft to identify computer program code that requires and will only execute under the "management" of a Common Language Runtime virtual machine ....

 on the console. There are other limitations as well, such as the number of threads being limited to 256. Unlike other versions of .NET CF, the Xbox 360 version allows setting processor affinity
Processor affinity
Processor affinity is a modification of the native central queue scheduling algorithm in a symmetric multiprocessing operating system. Each task in the queue has a tag indicating its preferred / kin processor...

 to threads created. The threads are scheduled among four concurrent threads running on the multiple processor cores of the system.

Extended backward compatibility

A port of .NET CF 1.0 SP3 that supports Windows CE versions 2.0, 2.01, and 2.11 has been developed by an open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 developer named D. Stefanov. Users of legacy Windows CE devices such as handheld PCs and palm-size PCs may now run applications written for the .NET Compact Framework 1.0 on such devices. Support is available for ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

, MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

, x86, and Hitachi SuperH
SuperH
SuperH is a 32-bit reduced instruction set computer instruction set architecture developed by Hitachi. It is implemented by microcontrollers and microprocessors for embedded systems....

 (SH3, SH4) processors.

Release history

Version nameVersion numberRelease date
1.0 RTM 1.0.2268.0 2002 late
1.0 SP1 1.0.3111.0 2003
1.0 SP2 1.0.3316.0 unknown
1.0 SP3 1.0.4292.0 2005 January
2.0 RTM 2.0.5238.0 2005 October
2.0 SP1 2.0.6129.0 2006 June
2.0 SP2 2.0.7045.0 2007 March
3.5 Beta 1 3.5.7066.0 2007 May
3.5 Beta 2 3.5.7121.0 unknown
3.5 RTM 3.5.7283.0 2007 November 19
3.5 3.5.7283.0 2008 January 25
3.5 3.5.9198.0 2009 July 20
3.5 3.5.10181.0 unknown (with WinCE QFE)
3.5 3.5.11125.0 unknown (with WinCE QFE, May 2011)
3.7 3.7.8345.0 2009 unknown

The versions of the .NET Compact Framework installed on a Windows Mobile device can be determined by launching \Windows\cgacutil.exe and comparing the displayed list of version numbers to the table above. More than one version can be installed on a device simultaneously.

See also

  • .NET Compact Framework controls
    .NET Compact Framework controls
    -Overview:The Microsoft .NET Compact Framework is a sub-library of .NET framework. It simplifies the mobile application development of smart devices. These are to a large extent limited by the screen size, CPU performance or memory capacity. .NET compact framework takes some of the controls and...

  • .NET Framework
    .NET Framework
    The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

  • .NET Micro Framework
    .NET Micro Framework
    The .NET Micro Framework is an Open Source .NET platform for resource-constrained devices with at least 256 KBytes of flash and 64 KBytes of RAM. It includes a small version of the .NET CLR and supports development in C#, Visual Basic .NET, and debugging using Microsoft Visual Studio...

  • Windows CE
    Windows CE
    Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

  • Windows Mobile
    Windows Mobile
    Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK