Programming languages: Microsoft reveals .NET 5, a 'game changer' for easier cross-platform apps

In November 2020, Microsoft will launch .NET 5, which is designed to greatly simplify the process of using Microsoft's .NET frameworks.

Programming languages: Microsoft reveals .NET 5, a 'game changer' for easier cross-platform apps In November 2020, Microsoft will launch .NET 5, which is designed to greatly simplify the process of using Microsoft's .NET frameworks.

Microsoft has announced a major change to its .NET software development frameworks from next year.

In November 2020, Microsoft will launch .NET 5, which will unify the existing .NET Framework, .NET Core and Mono software frameworks under a single .NET offering.

The move is designed to greatly simplify the process of using Microsoft's .NET frameworks. While Microsoft's .NET frameworks enable developers to work in a range of languages and build apps for a variety of platforms, doing so requires developers to use different .NET frameworks.

Today developers have to choose between .NET Framework, .NET Core, and Mono, depending on which platform they are developing for.

In contrast, .NET 5 will be able to be used to build apps for Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly and more platforms.

SEE: Microsoft Build 2019: What to expect (ZDNet)

One of the distinguishing features of the .NET frameworks are their standard software libraries, which developers can call upon to tap into a wide range of functionality, from network communication to exception handling.

Microsoft says that .NET 5 will include the best of the libraries available via .NET Core and the Mono framework "to create a single platform that you can use for all your modern .NET code". And while .NET Core has traditionally lacked the breadth of the standard libraries available under the .NET framework, Microsoft says the gap between the two will almost close with the release of .Net Core 3.0 in September.

From the release of .NET 5 in November 2020, it will be the only .NET framework to be updated, with new versions released every November in subsequent years. Even-numbered releases, for example .NET 6, will be LTS versions enjoying long-term support. A preview release of .NET 5 is expected to be available in the first half of 2020.

SEE: Microsoft Build 2019: The biggest takeaways (free PDF) (TechRepublic)

By targeting a broad range of platforms, Microsoft says .NET 5 will be able to be used to deploy applications to a broad range of physical and virtual systems — from desktop PCs to cloud-based infrastructure — as you can see below.

dotnet5platform.jpg
Image: Microsoft

"This new project and direction are a game-changer for .NET. With .NET 5, your code and project files will look and feel the same no matter which type of app you're building," says Richard Lander, program manager for the .NET Team in a blog post issued to tie in with the Build 2019 conference in Seattle.

"You'll have access to the same runtime, API and language capabilities with each app. This includes new performance improvements that get committed to CoreFX, practically daily.

"We see a bright future ahead in which you can use the same .NET APIs and languages to target a broad range of application types, operating systems, and chip architectures."

Lander says .NET 5 will continue many trends from existing .NET frameworks, including support for platform-specific capabilities, such as Windows Forms and WPF on Windows, and the native user interface features and hardware access on Android and iOS devices available when using Xamarin and Mono.

As with .NET Core, .NET 5 will also be fully supported by the Visual Studio, Visual Studio for Mac, and Visual Studio Code editors.

.NET 5 will also offer a variety of improvements over earlier frameworks, including greater choice on runtimes, Java interoperability across all platforms, Objective-C and Swift interoperability on multiple operating systems, and the extension of the CoreFX class libraries to support static compilation, smaller footprints and more operating systems.

Not everyone is happy at the news, and there are already comments from firms that use .NET Framework concerned about the prospect of migrating when the framework eventually stops being supported.

More on Build 2019