News

Unifying .NET 5 Arrives in Preview 1

Microsoft released .NET 5 Preview 1, the first iteration of what will become one framework to handle all .NET development projects.

The company is jumping from .NET Core 3.1 directly to .NET 5 to signify the clean break from the past -- including the traditional Windows-only .NET Framework -- and focus on unifying everything under one cross-platform, open-source, "game-changing" platform based on one single Base Class Library (BCL). "Having a version 5 that is higher than both .NET Core and .NET Framework also makes it clear that .NET 5 is the future of .NET, which is a single unified platform for building any type of application," Microsoft exec Scott Hunter said in a March 16 post.

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

As the first part of this unification scheme, Microsoft's Xamarin mobile development platform will switch from using the Mono BCL to join other components leveraging the .NET Core BCL. With that move, Xamarin mobile development will be folded into .NET 5. That means that for the first time, one BCL-based framework will handle all app models:

  • ASP.NET Core
  • Entity Framework Core
  • WinForms
  • WPF
  • Xamarin
  • ML.NET

The first preview consists of the NET 5.0 Preview 1 SDK and .NET 5.0 Preview 1 Runtime. A separate announcement explains that the ASP.NET Core component -- used for web development, including Blazor projects -- received bug fixes but no new features in .NET 5 Preview 1.

"Preview 1 includes support for Windows ARM64 for the first time," Hunter said. "Today's release includes the .NET Core runtime. We expect Preview 2 to include the SDK (ASP.NET Core but not WPF or Windows Forms). A later preview will include WPF and Windows Forms. Support for Windows ARM64 will also be back-ported to .NET Core 3.1. We will share more information on that with the Preview 2 post."

The company did share work done for Preview 1 to improve many areas of the framework, including:

  • Regular expression performance improvements
  • Code quality improvements in RyuJIT
  • Assembly load diagnostics added to event pipe
  • Event pipe profiler APIs
  • GitHub repo consolidation

Microsoft also provided more information about ongoing development of .NET 5, listing its future high-level goals as:

  • Unified .NET SDK experience:
    • Single BCL across all .NET 5 applications. Today Xamarin applications use the Mono BCL but will move to use the.NET Core BCL, improving compatibility across our application models.
    • Mobile development (Xamarin) is integrated into .NET 5. This means the .NET SDK will support mobile. For example, you can use "dotnet new XamarinForms" to create a mobile application.
  • Native Applications supporting multiple platforms: Single Device project that supports an application that can work across multiple devices for example Window Desktop, Microsoft Duo (Android), and iOS using the native controls supported on those platforms.
  • Web Applications supporting multiple platforms: Single Blazor project that supports an application that can work in browsers, on mobile devices and as a native desktop application (Windows 10x for example)
  • Cloud Native Applications: High performance, single file (.exe) < 50MB microservices and support for building multiple project (API, web front ends, containers) both locally and in the cloud.
  • Continuous Improvements, such as: faster algorithms in the BCL, better support for containers in the runtime, support for HTTP3.

Hunter advised developers that the best way to prepare for .NET 5 would be to move all of their .NET Core applications to 3.1, noting that coders building traditional .NET Framework applications can continue to target that legacy platform that will be maintained but not improved with new features. Thus, developers creating new applications should consider targeting .NET Core 3.1.

.NET 5 is scheduled for general availability in November.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube