What's new in .Net 5?

Earlier in Nov 2020, Microsoft announced .NET 5.0, the latest and a single unified platform for .NET. .NET 5 is now the only platform. .NET 5 combines features of both .NET Core 3.1 and .NET Framework 4.8x. With that said, the future of .NET is bright. As you can see from the below roadmap of .NET, .NET will continue to improve and evolve for several upcoming years

 

Source: Microsoft

As shown above, .Net 5 will be powered with the best features of the .Net Framework, .Net Core, Mono, and Xamarin to provide APIs, libraries, and run-time to create apps for Web, Windows, Mobile & IoT devices. The main goal of .Net 5 is to empower unified .Net Client Application projects to create deliverables for various platforms including Windows, UNIX, Linux, Legacy Windows, iOS, Driod, HTML5, and Macintosh.

With the announcement of .Net 5, we realized that Microsoft is skipping .Net 4 to avoid mix-up with the <span><a href="/blog/the-.net-revolution-an-overview-of-the-.net-framework-versions" rel=" noopener">.Net Framework versions</a></span>. Then the .Net 5 will be accompanied by the .Net versions like .Net 6.0, .Net 7.0 &amp; .Net 8.0. This will not happen overnight. Microsoft .Net team has announced the timeline for these versions as shown below:

                                                                                         

Source: Microsoft

 .Net 5 Moves ahead with .Net Core

.Net 5 will offer everything that you would expect from the .Net core while making it suitable for Mobile and IoT platform development. With these new updates, developers will no longer need to choose between .Net Core, .Net Framework and Mono, based on which platform they’re developing their applications.

As the first step in that direction, the .Net 5 ensures to incorporate the best of .Net core functionalities:

  • Cross-platform implementation with any device
  • Supports all key platform features for .Net core, Xamarin, .Net Framework
  • Open Source & Community-Oriented
  • Fast, Scalable, and high performance
  • Support with future updates to Visual Studio Code, Visual Studio 2019, Command Line Interface and Visual Studio for Mac.
  • Support for platform-specific features like Windows Forms, & WPF on Windows
  • Side-by-side installation
  • Smarter Deployment & packages
  • Small Project Files

 

Other Vital Features to Highlight

As Microsoft resolves the kinks on the latest version of .Net, the .Net 5 will feature new .Net APIs, desktop development, runtime capabilities, language features and many more.

Desktop Development with .Net 5

Microsoft is fetching Windows Desktop Packs to support desktop apps, which works only on Windows. .Net 5 will come up with all key desktop development functionalities and libraries. Xamarin, WPF, Windows Forms and UWP (Universal Windows Platform) are the four key desktop platforms. The porting of Windows desktop app into .Net doesn’t change the .Net Core architecture, but adds some additional benefits including Core Runtime & API Performance enhancement, and deployment flexibility. .Net 5 also supports some major sub-framework for desktop development like Entity Framework, GDI+, LINQ, and ADO.Net.

Mobile Development with .Net

.Net 5 will continue to build cross-platform mobile apps for Android, iOS, tvOS, macOS, and watchOS platforms using Xamarin. Xamarin is supported by the Mono runtime and it offers a set of programming languages, developers’ tools and libraries. Xamarin uses XAML as the major UI programming language and C# as the backend language.

Cloud Development with .NET 5

Azure app development will be one among the major functionalities of .Net 5. With the release of the latest version of .Net, developers will continue to develop software with Azure. Azure Cloud development encompasses a mix of tools and frameworks, including Web API, ASP.Net, Serverless computing, Azure databases, Docker containers, microservices, DevOps and more.

Game Development with .Net 5

.Net 5 and Visual Studio 2019 will support Unity, a vital part of .Net gaming to develop games for mobile, Xbox and other gaming platforms.

Runtime and Language with .Net 5

.Net 5 will provide the developers with the choice of runtimes between CoreCLR and Mono. CoreCLR is the .Net core runtime used for Windows desktop, IOT, machine learning, and Cloud applications. Mono is a well-known Cross-platform .Net implementation, an open source alternative to .Net frameworks. Both Mono and CoreCLR include many similarities and some valuable unique capabilities. Additionally, .Net 5 will come up with AoT(Ahead-of-Time) and JIT (Just-in-Time) compilation models. JIT has proven its enhanced performance for server/desktop workloads as well as the development environment. On the other hand, AoT possesses a small footprint, fast startup, and lower memory usage. 


Summary:

.NET 5.0 is the next major release of .NET Core following 3.1. We named this new release .NET 5.0 instead of .NET Core 4.0 for two reasons:

  • We skipped version numbers 4.x to avoid confusion with .NET Framework 4.x.
  • We dropped "Core" from the name to emphasize that this is the main implementation of .NET going forward. .NET 5.0 supports more types of apps and more platforms than .NET Core or .NET Framework.

ASP.NET Core 5.0 is based on .NET 5.0 but retains the name "Core" to avoid confusing it with ASP.NET MVC 5. Likewise, Entity Framework Core 5.0 retains the name "Core" to avoid confusing it with Entity Framework 5 and 6.