Developer(s) | Microsoft |
---|---|
Stable release |
4.4 / October 20, 2015
|
License | Apache License 2.0 |
Website | www.netmf.com |
The .NET Micro Framework (NETMF) is an open-source .NET platform for resource-constrained devices with at least 256 KB of flash and 64 KB of RAM. It includes a small version of the .NET CLR and supports development in C#, Visual Basic .NET, and debugging (in an emulator or on hardware) using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries (about 70 classes with about 420 methods), an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on SOAP and WSDL. NETMF also features additional libraries specific to embedded applications.
The .NET Micro Framework aims to make embedded development easier, faster, and less expensive by giving embedded developers access to the modern technologies and tools used by desktop application developers. Additionally, it allows desktop .NET developers to use their skills in the embedded world, enlarging the pool of qualified embedded developers.
The .NET Micro Framework is part of the .NET Foundation. Announced at the Build 2014 conference, the .NET Foundation was created as an independent forum to foster open development and collaboration around the growing collection of open-source technologies for .NET.
The unique features of the .NET Micro Framework (relative to other .NET platforms) are:
Due to the constraints under which it operates, the .NET Micro Framework does have some limitations beyond those imposed by its slimmed-down libraries. For example, the platform does not support symmetric multi-processing, multi-dimensional arrays, machine-dependent types, or unsafe instructions. The CLR is an interpreter rather than a just-in-time compiler, and uses a simpler mark-and-sweep garbage collector instead of a generational approach. An ahead-of-time compiler is being developed using a modified LLVN compiler. Interoperation between managed and native code currently has a number of limitations. The .NET Micro Framework does not support any .NET languages other than C# and Visual Basic at this time.