.NET Core 3 Roadmap Announced

Microsoft just announced the roadmap of .NET Core 3.

Today at the Build, Microsoft’s .NET Team announced the roadmap of the next version of .NET Core, .NET Core 3. The first preview of .NET Core 3 is expected to release later this year and the final version sometime in 2019.

There was an anxiety among Windows developers regard to the future of Windows desktop development but .NET Core 3 will have support for all major Windows desktop platforms including Windows Forms, WPF, and UWP including XAML. ASP.NET Core will also continue to move to the next stages.

Microsoft also announced plans for .NET 4.8 that is expected to be released in 12 months from now.

C#, F# and VB already work with .NET Core 2.0. You will be able to build desktop applications with any of those three languages with .NET Core 3.

From the blog post,

ASP.NET Core will continue to move forward in parallel and will have a release with .NET Core 3.0. Our commitment to web and cloud applications remains unchanged. At the same time, it’s time to add Windows desktop applications as another supported workload for .NET Core. We have heard many requests for desktop applications with .NET Core and are now sharing our plan to deliver on that.

Benefits of .NET Core for Desktop

There are many benefits with .NET Core that are great for desktop apps. There are a few that are worth calling out explicitly:

  • Performance improvements and other runtime updates that will delight your users
  • Super easy to use or test a new version of .NET Core for just one app on a machine
  • Enables both machine-global and application-local deployment
  • Support for the .NET Core CLI tools and SDK-style projects in Visual Studio

We’re also announcing a set of improvements that we’ll be adding to both .NET Core 3.0 and .NET Framework 4.8:

  • Access to the full Windows 10 (AKA “WinRT”) API.
  • Ability to host UWP XAML controls in WPF and Windows Forms applications.
  • Ability to host UWP browser and media controls, enabling modern browser and media content and standards.

Visualizing .NET Core 3

Let’s take a look at .NET Core 3 in pictorial form.

Support for Windows desktop will be added as a set of “Windows Desktop Packs”, which will only work on Windows. .NET Core isn’t changing architecturally with this new version. We’ll continue to offer a great cross-platform product, focused on the cloud. We have lots of improvements planned for those scenarios that we’ll share later.

From a 1000-meter view, you can think of WPF as a rich layer over DirectX and Windows Forms as thinner layer over GDI Plus. WPF and Windows Forms do a great job of exposing and exercising much of the desktop application functionality in Windows. It’s the C# code in Windows Forms and WPF that we’ll include as a set of libraries with .NET Core 3. Windows functionality, like GDI Plus and DirectX, will remain in Windows.

We’ll also be releasing a new version of .NET Standard at the same time. Naturally, all new .NET Standard APIs will be part of .NET Core 3.0. We have not yet added Span<T>, for example, to the standard. We’ll be doing that in the next version.