On May 6th, 2019, Microsoft announced the release of .NET 5, and on November 10th, 2020 it was officially released. Touted to be a successor of .NET Core 3.1 and the .NET Framework 4.8, .NET 5 aims to make developers’ life easy with a single unified framework, and also be functional across platforms like Windows, Linux, macOS, iOS, Android, and much more. It takes the best of .NET Core, .NET Framework, Xamarin, and Mono and provides an improved .NET experience like never before!
Due to the unprecedented turn of events caused by COVID 19, the initial plan of platform unification has changed and will now be completed with release of .NET 6 in November 2021.
.NET 5 comes with new language improvements as part of C# 9 and F# 5. Visual Basic is also included in the 5.0 SDK, and has new additional features to support the Visual Basic Application Framework on .NET Core.
Considering the popularity of the language, the new features in C# are something which many of us will be interested in. Among the notable features are top level statements, record types, Init setters, and much more. C# Source Generators is another important new feature of the C# compiler that allows developers to inspect user code and generate new C# source files which can then be added to a compilation.
.NET MAUI, the Universal UI
Another powerful feature introduced by Microsoft as part of .NET 5 is the .NET Multi-platform App UI framework, also known as .NET MAUI. This introduces a new way to build cross-platform user interfaces, across Windows, macOS, Android, iOS, all with a single project! Even though this feature is still in progress and will be released with .NET 6, developers can start learning about it and use it once it is officially released.
Supporting Single-File Applications
Support for single file applications is another notable feature of .NET 5. Single file applications are applications that are published and deployed as a single file. What this means is, the application and all its dependencies are bundled into one file. If we use the command line argument --self-contained true when publishing an app through the dotnet CLI command, then we don’t even need to install the .NET runtime on the target machine!
What is no longer there
Having spoken about the new features that have been added, it is time to throw some light on what has been removed and deprecated with the release of .NET 5. With a redesigned architecture and support for cross-platform programming, removing a few features has become inevitable. Some of the important ones that have been removed are –
- Communication Foundation (WCF)
- Workflow Foundation
.NET 5.0 is a major release by Microsoft, which is going to change and definitely improve the way we work with .NET. Code written in C# 9 and F# 5 will be more expressive and much easier to write and maintain. Lot of optimizations have been done in the GC, JIT, LINQ, Networking and many other components. Performance of .NET libraries used for JSON serialization, regular expressions, and HTTP have also shown remarkable improvements.
Thankfully, Microsoft has also made the process of upgrading to .NET 5.0 a pretty easy exercise, one that doesn’t need much effort. We should be seeing a lot of companies migrating to this new, exciting framework in the coming days, until the next big release .NET 6.0, which is expected later this year!