News

Unified .NET 5 Unveiled: 'Just One .NET Going Forward'

Microsoft announced .NET Core 3.0 will arrive in September, after which the company is switching to one unified .NET platform, called .NET 5, which will debut in November 2020.

Microsoft-centric developers have long clamored for one unified development platform to target all aspects of the ecosystem, and Microsoft is delivering with .NET 5, which will consolidate separate efforts such as .NET Core., .NET Framework, Xamarin and Mono.

Describing the new direction as a "game changer," Microsoft announced .NET 5 at the opening of the company's big Build developer conference, stating it aims to improve .NET in ways such as:

  • Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences.
  • Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin and Mono.
  • Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios.
.NET 5
[Click on image for larger view.] .NET 5 (source: Microsoft).

While features of .NET Core will be maintained -- such as cross-platform functionality, side-by-side installations and Visual Studio integration -- .NET 5 will offer new functionality and capabilities:

  • 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 (ahead-of-time – AOT), smaller footprints and support for more operating systems.

As part of the scheme, Microsoft is skipping .NET Core 4 to avoid confusion with the traditional, Windows-only .NET Framework, which is already in 4.x versioning. It's also dropping the "Core" designation.

The .NET Schedule
[Click on image for larger view.] The .NET Schedule (source: Microsoft).

"We wanted to clearly communicate that .NET 5 is the future for the .NET platform," said Richard Lander, .NET program manager, in a blog post today (May 6). "Calling it .NET 5 makes it the highest version we've ever shipped."

"We are also taking the opportunity to simplify naming. We thought that if there is only one .NET going forward, we don't need a clarifying term like 'Core'. The shorter name is a simplification and also communicates that .NET 5 has uniform capabilities and behaviors. Feel free to continue to use the '.NET Core' name if you prefer it."

With .NET 5, developers will have the choice of runtimes: Mono (the original, open source cross-platform .NET implementation, now used in Xamarin); or CoreCLR, the .NET Core runtime used for cloud, Windows desktop, Internet of Things (IoT) and machine learning applications.

While most .NET 5 workloads will use the existing just-in-time compiler (JIT), ahead-of-time (AOT) native compilation will be used for iOS and client-side Blazor (based on WebAssembly). The red-hot Blazor project, which recently graduated from experimental stage to a preview with a way to use C# instead of JavaScript in browser development, will be one of the first projects to move to the new .NET 5, Lander said.

He noted there is still much to be worked out in the new, unified approach.

"Moving to a single .NET implementation raises important questions," Lander said. "What will the target framework be? Will NuGet package compatibility rules be the same? Which workloads should be supported out-of-the-box by the .NET 5 SDK? How does writing code for a specific architecture work? Do we still need .NET Standard? We are working through these issues now and will soon be sharing design docs for you to read and give feedback on."

Stay tuned for more on those issues.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube