.NET 5 — A Unified Platform for All .NET Developers

Microsoft announced the roadmap for .NET at the recent MSBuild 2019. The release of .NET 5.0 scheduled for November 2020 will be a unified platform for building various .NET applications types targeting Windows, Linux, macOS, iOS, Android, and more operating systems. Just one .NET going ahead, said Richard Lander, program manager on the .NET team.

Source: https://devblogs.microsoft.com/dotnet/introducing-net-5/

.NET 5.0 is the evolution of .NET Core based on .NET Standard. The .NET project aims to produce a single runtime and framework that will run various modern .NET workloads on multiple platforms: desktop, web, cloud, mobile, IoT. It is a combination of best of .NET Core, .NET Framework, Xamarian and Mono and would become simpler but also have broader and extensive capabilities and utilities, Lander added.

.NET 5.0 is expected to bring the .NET Core features such as cross-platform, side-by-side installation, high performance, and Visual Studio integration along with new .NET APIs, runtime capabilities, and language features. Lander said it would remain open source and community oriented.

Microsoft simplified the names; we will no longer need to differentiate .NET as “Core” or “Full” framework — it will be just one .NET, and according to Scott Hunter, director program management for .NET Core is the future.

In a recent Channel 9 episode, Lander and Hunter discussed on some of the highlights of .NET Core 3.0 (a preview is available now) and what developers can look forward. .NET Core 3.0 packed new features like Windows Forms, WPF and Entity Framework 6, performance and support for new workloads aligned with major themes Desktop Workloads, AI and ML, and Web App development. As per Microsoft .NET core 3.0 will be released in September this year and .NET 5.0, and the first preview will be available in the first half of 2020. Future updates will support it to Visual Studio 2019.

Source: https://devblogs.microsoft.com/dotnet/introducing-net-5/

Microsoft clearly states that .NET Core is the future and recommends to use .NET Core for new applications.

For teams and developers in the process of migrating .NET Framework applications or libraries to the .NET core, the portability analyser may help by analysing assemblies and reporting on the flexibility of the code base across multiple .NET implementations.

In Microsoft’s roadmap for the .NET platform, there is no .NET Core 4.0 and .NET Framework 4.8 is the last major version of the .NET Framework. The company’s support policy remains, i.e., support will always be in Windows, and .NET Framework will be patched and supported with Windows. Microsoft recommends that developers keep existing applications on .NET Framework.

The ASP.NET web forms, WCF (Windows Communication Foundation), and Windows Workflow Foundation (WF) will remain on the .NET Framework, and there are no plans to port these to .NET 5.0.

Microsoft has suggested a migration path for the impacted features: existing WCF and remoting workloads can use gRPC, existing WF solutions can use the open-source Core workflow, and existing ASP.NET Web Forms can migrate to ASP.NET Blazor.

Some .NET fans looking forward where developers can use the same languages and .NET APIs to target a variety of cross-platform application types, but others have concerns about existing features like WCF, web forms, and WF. No future support for them in .NET 5 annoys a few people.

More details on the various problems, issues, and concerns can be found in the comments on Lander’s blog post, Hacker News, and Server side WCF.

Article reviewers: Jan Stenberg, Lawrence Nyveen

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s