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

  • Death of the Dev Machine?

    Here's a takeaway from this week's Ignite 2020 event: An advanced Azure cloud portends the death of the traditional, high-powered dev machine packed with computing, memory and storage components.

  • COVID-19 Is Ignite 2020's Elephant in the Room: 'Frankly, It Sucks'

    As in all things of our new reality, there was no escaping the drastic changes in routine caused by the COVID-19 pandemic during Microsoft's big Ignite 2020 developer/IT pro conference, this week shifted to an online-only event after drawing tens of thousands of in-person attendees in years past.

  • Visual Studio 2019 v16.8 Preview Update Adds Codespaces

    To coincide with the Microsoft Ignite 2020 IT pro/developer event, the Visual Studio dev team shipped a new update, Visual Studio 2019 v16.8 Preview 3.1, with the main attraction being support for cloud-hosted Codespaces, now in a limited beta.

  • Speed Lines Graphic

    New for Blazor: Azure Static Web Apps Support

    With Blazor taking the .NET web development world by storm, one of the first announcements during Microsoft's Ignite 2020 developer/IT event was its new support in Azure Static Web Apps.

  • Entity Framework Core 5 RC1 Is Feature Complete, Ready for Production

    The first release candidate for Entity Framework 5 -- Microsoft's object-database mapper for .NET -- has shipped with a go live license, ready for production.

Upcoming Events