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

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events