.NET 5 arriving in 2020!

Yesterday, on the first day of Microsoft Build 2019, the team behind .NET Core announced that .NET Core 3.0 will be .NET 5, which will also be the next big release in the .NET family. Now there will be just one .NET going forward, and users will be able to use it to target Linux, macOS, Windows, iOS, Android, tvOS, watchOS and WebAssembly and much more.

.NET Core team will also introduce new .NET APIs, runtime capabilities and language features as part of .NET 5 along with the first preview, which is expected in November 2020.

.NET 5 takes .NET Core and the best of Mono, runtime for .NET Core, to create a single platform that you can use for all your modern .NET code. This release will be supported with future updates to Visual Studio 2019, Visual Studio Code and Visual Studio for Mac.

What is expected in .NET 5?

Switch build in runtimes

.NET Core has two main runtimes, namely, Mono which is the original cross-platform implementation of .NET and CoreCLR which is primarily targeted at supporting cloud applications, including the largest services at Microsoft. Both runtimes have a lot of similarities, so, the team has decided to make CoreCLR and Mono drop-in replacements for one another. The team plans to make it easier for users to choose between the different runtime options.

.NET 5 applications

In this release, all the .NET 5 applications will be using the CoreFX framework which will work smoothly with Xamarin and client-side Blazor workloads. These .NET 5 applications will be buildable with the .NET CLI, which will ensure that users have common command-line tooling across projects.

Naming

The team thought of simplifying the naming as there is only one .NET going forward, so there is no need of clarifying term like “Core”. According to the team, .NET 5 is a shorter name and also communicates that it has uniform capabilities and behaviors.

Others ways in which .NET 5 project will improve are:

This release will produce a single .NET runtime and framework which has a uniform runtime behaviour and developer experiences and can be used everywhere.

This release will also expand the capabilities of .NET by reflecting the best of .NET Core, .NET Framework, Xamarin and Mono.

It will also help in building projects out of a single code-base that developers can work on and expand together.

Also, the code and project files will look and feel the same no matter which type of app is getting built.

Users will continue to get access to the same runtime, API and language capabilities with each app.

Users will now have more choice for runtime experiences.

This release will come with Java interoperability for all the platforms.

In this release, Objective-C and Swift interoperability will be supported on multiple operating systems.

What won’t change?

NET Core will continue to be open source and community-oriented on GitHub.

It will still have cross-platform implementation.

This release will also support platform-specific capabilities, such as Windows Forms and WPF on Windows, etc.

It will support side-by-side installation and provide high performance.

It will also support small project files (SDK-style) and command-line interface (CLI).

A glimpse at the future roadmap

The blog reads, “The .NET 5 project is an important and exciting new direction for .NET. You will see .NET become simpler but also have a broader and more expansive capability and utility. All new development and feature capabilities will be part of .NET 5, including new C# versions. We see a bright future ahead in which you can use the same.”