We are all very excited about the release of Microsoft .NET 5 and what it means to the future of custom software development. Why is this relevant? Through this amateur ‘book report’ I seek to help you, the anticipated audience, understand what is to be expected with Microsoft’s release of .NET 5 and the changes it will bring.
This big ‘game-changer’ being called .NET 5 is the next big release in the .NET family that will be available in November of 2020. This is Microsoft’s latest attempt to make one unified platform. According to their 2019 blog post it can be used to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly, and possibly more. Microsoft is seeking to produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences.
.NET 5 by Microsoft DevBlogs
.NET 5 should almost not have the 5 after it as it is bringing all sorts of technology together under one .NET. It is being called .NET 5 even though it is being released after .NET 3. Microsoft is skipping the version 4 as not to confuse those who have been using the 4.x series for a long time.
A quote from the multinational technology company themselves, as shown Redmond blog article from January earlier this year, Microsoft states that, “From the inception of the .NET Core project, we’ve added around fifty thousand .NET Framework APIs to the platform, .NET Core 3.0 closes much of the remaining capability gap with .NET Framework 4.8, enabling Windows Forms, WPF and Entity Framework 6. .NET 5 builds on this work, taking .NET Core and the best of Mono to create a single platform that you can use for all your modern .NET code”. However, it is shown that this will not be a long-term support release.
With this move to .NET 5 there will be items of the .NET framework that will be legacy items and no longer supported or no longer existing under the all-encompassing .NET 5 such as specific things that traditional C# and Visual Basic .NET and you will need to move over to different platforms or tools that Microsoft will be providing additionally but separately from .NET 5. For example, ASP.NET will not be supported within .NET 5 and for continued use, and the Microsoft direction will be to use Blazor for future development. to Essentially with this you will see .NET Core, Mono, .NET, and Xamarin completely disappear and in their place, you will find one unified .NET 5 to cover their absence and expand the capabilities of .NET by taking the best of .NET Core, .NET framework, Xamarin, and Mono.
Microsoft’s intention with this will be to see .NET 5 be developed in the open as a complete cross-platform and open source project to attempt to have a wider reach and a much wider audience. Before this, we saw separate platforms supporting separate applications such as the Base class library with the .Net Framework, the Core library with .NET Core, and the Mono class library with Xamarin. After Microsoft’s purchase of Xamarin, they have been seeking to combine all of this to make everything a lot less confusing for new developers.
Previously we saw that the Mono class library and Xamarin were used to develop code within mobile applications. The .NET framework that supported Windows only and their applications. The .NET Core which is a cross-platform and open sourced to develop applications that can run on several different major operation systems. With .NET 5 you will be able to do all of this on a unified platform for ease and efficiency and improve all scenarios.
The advantage to this is that it will bring a single code base with a consistent look and feel since you will be using the same interface. Java and Swift will have interoperability will be available on all of the platforms. Everything about the .NET Core will continue to exist within .NET 5 including WinForms, WPF, and UWP. One of the best things about this, especially for new and learning developers, is that you will be given a single platform as a starting point for everything. This will be much easier to grasp and make it simple to join the .NET community.
The highlights to this, as shown in the Redmond blog article from January 2020, are as follows:
- Developers will have more choice on runtime experiences.
- Java interoperability will be available on all platforms.
- Objective-C and Swift interoperability will be supported on multiple operating systems.
- CoreFX will be extended to support static compilation of .NET, smaller footprints, and support for more operating systems.
What is to be expected from this? We all hope to see .NET become simpler but also have broader and more expansive capability and utility.
In conclusion, and spoken from the multinational technology company themselves, Microsoft states that, “We see a bright future ahead in which you can use the same .NET APIs and languages to target a broad range of application types, operating systems, and chip architectures. It will be easy to make changes to your build configuration to build your applications differently, in Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps or at the command line”. I certainly tend to agree with this statement.
Ramel, David. “Up Next: .NET 5”. Visual Studios Magazine,
Accessed 31 March 2020
Ramel, David. “Coming in 2020: .NET 5, The Next Phase of Microsoft’s .NET Framework”. Redmond,
Accessed 31 March 2020