.NET Native and .NET Core bring impactful changes to Windows development. Learn how it will impact your development with Windows 10 and UWP.
- [Instructor] In the recent past .NET has undergone changes that positively impact UWP developers. Some broad .NET changes include: the introduction of .NET Core, and .NET Standard Library. While more UWP specific improvements include .Net Native and .NET distribution with NuGet. Let's start by taking a look at the .NET world to fully understand how UWP works with .NET. Today .NET exists as three major entities, the full .NET framework that traditional Windows desktop applications are built on, .NET Core which is what UWP is built on, and the Xamarin framework, also know as Mono.
One specific advantage of .NET Core over the traditional .NET framework is that .NET is actually distributed with the app rather than the operating system. This allows for faster innovation as a developer. As soon as a new version of .NET is available you can update your .NET target and leverage new APIs and updates, you no longer have to wait for you app consumer to update the version of .NET framework on their PC. Each of these major .NET entities has multiple app models as well as a set of base libraries for each platform built on the technology.
Notably, .NET Core is the .NET foundation for both UWP and ASP.NET Core. .NET Core is also a cross platform and open source, meaning the shared code you write for UWP apps may be able to run in an ASP.NET application running on a different platform such as Linux. .NET Code will be shared in the future through .NET Standard Library. Rather than taking the API intersection of your .NET platform targets each .NET platform will implement a version of .NET Standard. As a UWP developer, the .NET development skills you learn will transfer to any new .NET platform that implements .NET Standard.
You no longer have to recognize the API intersection to be able to share code. Rather, if you learn what is available in different versions of .NET Standard you can base your planning on that. Let's take a look at this in an example. Imagine I still want to build my cross platform mobile app on Xamarin and UWP with an ASP.NET back-end targeting .NET 4.6. Well, Xamarin implements .NET Standard 1.6, UWP implements .NET Standard 1.4, and .NET 4.6 implements .NET Standard 1.3.
Since .NET 4.6 is my limiting platform I can build a .NET Standard Library targeting .NET Standard 1.3 and share all of that code across the three platforms I am interested in. Once I am an expert in .NET Standard I can use the same Standard Library to build shared code for any .NET platform that implements that version or higher. The next notable .NET impact on UWP is the delivery mechanism. For UWP .NET is simply delivered as a set of NuGet packages. That means I can update my NuGet package reference and voilà, now I am targeting a new version of .NET Core for UWP development.
As .NET for UWP evolves, being able to leverage the latest updates is as simple as updating a single NuGet package. Finally, UWP is the first platform to not only support, but enforce .NET Native. .NET Native is a pre-compilation technology which compiles your .NET assemblies into Native assemblies for performance wins. With no JIT and a lean runtime app startup is lightning fast. The resulting app also consumes less memory. By leveraging store cloud compilation Windows enforces all UWP apps to use .NET Native.
This will make the universal Windows platform stand out with performing applications running on all devices, from the most powerful PCs, to the least powerful IoT devices.
- Working with .NET for UWP app development
- Establishing application architecture
- Configuring Azure services
- Configuring the mobile app service backend
- Testing and publishing the service backend
- Using Facebook authentication
- Using XAML
- Client server abstraction API
- Using the UWP community toolkit
- Styling app views
- Creating adaptive views
- Testing an app for multiple user accounts
- Publishing to the Windows Store
- Sideloading app packages