July 29 isn't a red-letter day for Microsoft, its partners and Windows users only because it's the day that Windows 10 starts rolling out.July 29 is also the day that Microsoft will be delivering the final version of its .NET tools for Windows 10 Universal Windows Platform (UWP) application development. (This Windows 10 tooling is currently in preview.) Additionally, July 29 is the date when the new single Windows Store will open its doors for developers to submit their new and/or retooled UWP apps.
UWP apps are applications that developers can largely write once and run on any device running the Windows 10 core, including Windows 10 PCs, Windows Phones running Windows 10 Mobile, Xbox One (once it's updated to run Windows 10), the coming HoloLens and even Raspberry Pi boards. The exact same runtime and framework will run on all of these different Windows 10 devices.
.NET Native is now the default runtime and framework for UWP applications. And .NET Native will be key to enabling Windows 10 applications to adapt for specific device types.
Microsoft's .Net Native compiler, formerly known as "Project N," has been updated so that it's ready for UWP apps for Windows 10. .Net Native provides ahead-of-time compilation so that applications will run substantially faster and more compactly, from a memory standpoint. The technology also enables developers to deploy their applications, with all their dependencies, as a single unit.
When Microsoft architected .NET more than a decade and a half ago, its developers didn't really have target devices in mind, said Habib Heydarian, Principal Group Program Manager, .NET Platform. When the developer team began working on .NET Native close to three years ago, members wanted to create device optimized experiences, he said.
Microsoft followed the model it established with its "Triton" compiler for Windows phone, Heydarian said. "Developers upload their IL (Intermediate Language) and we use the compiler in the cloud" to compile developers' apps and upload them to the new Windows Store, Heydarian explained.
Microsoft relied on .NET Native to compile C# to native machine code that performed like C++ in the Windows 8.1 time frame. The result was Windows Store/Metro Style applications that could start up to 60 percent faster and use 20 percent less memory, officials said at that time.With Windows 10, Microsoft changed the application model with UWP. The developer team updated .NET Native as part of that effort with work on security, performance, size on disk and tighter integration with the Visual Studio 2015 Integrated Development Environment (IDE), Heydarian said. (Visual Studio 2015 is generally available and downloadable as of this week.)
UWP applications, thanks to .NET Native, will be able to start up roughly 30 percent faster and have a memory footprint of 15 percent less. In order to gain these kinds of benefits, developers will need to retarget their existing Windows Store/Universal apps to Windows 10. (Those building line-of-business apps that will be sideloaded also will get the same kinds of performance benefits via .NET Native, Microsoft officials said.)
Next week, when Windows 10 starts rolling out, existing apps will largely continue to work and be available via the new Store. But the first UWP apps will only begin populating the store starting next week.