A First Look at .NET 5 and the Future of .NET

An early look at the ambitious vision for .NET 5. Learn about Microsoft's plan to unify the .NET ecosystem into a single platform and what it means for the future of building applications with C#.

The .NET ecosystem has been on a journey. For the past several years, developers have worked with two major, parallel versions of .NET: the legacy, Windows-only .NET Framework and the modern, cross-platform .NET Core. While .NET Core has been the future for some time, the existence of two separate platforms has caused confusion.

With the upcoming release of .NET 5, that is all set to change. .NET 5 is not just the next version of .NET Core; it's the beginning of a new, unified .NET platform.

The Vision: One .NET

Microsoft's vision for .NET 5 is simple and powerful: One .NET. The goal is to take the best of .NET Core, the .NET Framework, Xamarin, and Mono and merge them into a single platform that can be used to build any type of application for any platform.

This means one set of base class libraries (BCL), one runtime, and one toolchain for building everything from cloud-native microservices and web applications to desktop and mobile apps.

To signify this unification, Microsoft is dropping the "Core" moniker and skipping version 4.0 to avoid confusion with the .NET Framework 4.x series. So, the next version after .NET Core 3.1 is simply .NET 5.

What to Expect in .NET 5

Based on the early previews and announcements, here are some of the key themes for .NET 5:

1. Unification and Interoperability

.NET 5 will be a single, unified product. It will expand on the capabilities of .NET Core 3.1 and begin to incorporate features from other .NET platforms. This will make it easier to share code and skills across different types of applications.

2. C# 9

.NET 5 will ship with C# 9, which is set to introduce some exciting new language features. The most talked-about feature is records, a new, simplified syntax for creating immutable data types. This will dramatically reduce the amount of boilerplate code needed for simple data-holding classes.

Other potential features include top-level statements, which would allow you to write simple programs without the ceremony of a Program class and Main method, making C# much more approachable for beginners.

3. Performance

Performance continues to be a top priority. The .NET team is making significant investments in improving the performance of the JIT compiler, the garbage collector, and the core libraries. We can expect .NET 5 to be even faster than .NET Core 3.1, which was already a performance leader.

4. Application Models

.NET 5 will support a wide range of application models:

  • ASP.NET Core: For building web applications and APIs.
  • Blazor: For building interactive web UIs with C#.
  • Windows Desktop: Support for WPF and Windows Forms will continue, allowing you to build modern desktop applications on Windows.
  • Xamarin: For building cross-platform mobile applications for iOS and Android.

The Road Ahead

.NET 5, scheduled for release in November 2020, is the first major step in this unification journey. It will be followed by .NET 6, .NET 7, and so on, with a major release planned for every November. This new, predictable release schedule provides clarity for the entire ecosystem.

Conclusion

.NET 5 represents an exciting and pivotal moment for the .NET platform. By unifying the different .NET flavors into a single, open-source, and cross-platform ecosystem, Microsoft is creating a powerful and versatile platform for the next generation of software development. While the full unification story will continue with .NET 6, .NET 5 is the crucial first step that sets a clear direction for the future. It's a great time to be a .NET developer.