.Net Native, the code platform behind Universal Windows Apps, explained

Reading time icon 3 min. read

Readers help support Windows Report. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help Windows Report sustain the editorial team Read more

Managed code vs. native code, it’s one of the great debates of our time.  Microsoft began working on the .Net Framework back in the late ’90s, and .Net 1.0 was released way back in 2000.  Basically the idea is that instead of writing code that performs all the mundane and common duties like memory management for each and every application, a “common language runtime” or CLR, would perform all the low level duties of the program and developers would be able to concentrate on the higher levels of their code.  This worked great and reduced the intricacies of writing code, but performance has always been an issue, as that transformation from high level code to the CLR to the actual instructions to the computer inherently slowed things down.
Now Microsoft thinks it has hit upon the best of both worlds with a new programming paradigm it’s calling .Net Native.  Developers who have grown up with .Net and call Visual Studio home will be able to use all their familiar tools including C# or Visual Basic and common .Net libraries, but once the code is compiled, these .Net Native programs will start up and run faster, and won’t require the installation of a .Net Framework version on the client’s computer to run.
.Net Native Windows Store
In a post on the Building Apps for Windows blog, Microsoft Program Manager Daniel Jacobsen describes .Net Native, and offers a number of reasons why Microsoft thinks it’s better:

  • Up to 60% performance improvement on cold startup times
  • Up to 40% performance improvement on warm startup times
  • Less memory consumption of your app when compiled natively
  • No dependencies on the desktop .NET Runtime installed on the system
  • Since your app is compiled natively, you get the performance benefits associated with native code (think C++ performance)
  • You can still take advantage of the industry-leading C# or VB programming languages, and the tools associated with them
  • You can continue to use the comprehensive and consistent programming model available with .NET– with extensive APIs to write business logic, built-in memory management, and exception handling.
Because compiling these new .Net Native applications can take time, Microsoft has introduced a “Debug” mode in Visual Studio that allows developers to write code much as they did with traditional .Net applications, and run it in Visual Studio without fully compiling to Native code.  This can speed up the development process, although Jacobsen warns that testing code in “Release”, or fully compiled mode is important throughout the development cycle.
Microsoft’s Univeral Apps, the apps that will run on any Windows 10 device from desktop to tablet to phone to Xbox, are all written in .Net Native.  For the developer, that means familiar tools but faster programs, and for the end user it means not having to sort out which versions of the .Net Framework you need to run your applications, and those programs will be lighter and run faster.