Tech Update: An Overview Of .NET 5 And Its Features

12
4 min readJan 29, 2021

--

Summary: The creators of the world-renowned framework from Microsoft called .NET couldn’t have created a better successor than .NET 5. After introducing developers to .NET Core 3.1 and .NET Framework 4.8, the designers of this new system cobbled together an incredible experience for cross-platform app developers. Here you’ll learn about .NET 5 and the features it possesses.

Back in September 2019, .NET core 3.0 appeared with LTS or Long-Term Support trailing its footsteps. After that, .NET Core 3.1 popped up in December of the same year, which demarcated a few things clearly.

  1. .NET 3.1 is the version recommended to hire skilled .Net developers for building new applications.
  2. Developers won’t have to upgrade their .NET framework-based applications to .NET core. The former will continue receiving support as an essential part of Windows.
  3. Those who wish to port their existing applications created using the .NET framework to .NET Core won’t have to wait anymore. It’s perfectly possible to transfer older models to .NET Core.

Soon after that, Microsoft started working on .NET 5 and released the same in 2020 on 10th November. Here are the features of this new system.

Performance enhancements

The creators of .NET 5 did a lot to make it perform consistently. It’s possible to measure the same using a metric called P95 latency, the 95th percentile of the value of latency. It means that 95% of all the requests will have a latency below this number. Among the greatest beneficiaries of this metric are the garbage collector and RyuJIT compiler.

  1. Tiered compilations are an approach that lets developers enable swifter initial compilations by avoiding optimizations the first time they compile a method. They can compile the frequently used ones with higher quality when they apply additional optimizations. Call counting is the best way to pinpoint such methods in .NET 5.
  2. RyuJIT boasts of several other code-generation augmentations. One particular category of these enhancements is hardware intrinsic. It means developers will get support during targeting specific sets of instructions of particular processes.
  3. The enhancements to the garbage collector help in reducing the pause times of applications when the garbage collector does its job and optimizes the scanning system of the managed memory for all candidates.

Apart from these facilities, the creators optimized several APIs to improve performance. These include the following.

  • String operations
  • HTTP 1.1 and HTTP 2 implementation
  • Regular expressions

Support from cloud-native

Many of the changes introduced by the creators of .NET 5 are to improve performance in container-based workloads.

  1. These alterations reduced the size of the images published, along with a more inclusive selection of available images.
  2. Enhanced performance of .NET in container-based environments.
  3. Supporting for the orchestration of APIs, including OpenTelemetry to make the work of the developers easier.

Support from ARM64

Of course, .NET 3.1 was already working on Linux ARM64. It also functioned fully in x64 versions. However, when it comes to performance, the parity didn’t exist. .NET 5 changed that by introducing several features.

  • JIT or Just-In-Time compiler optimizations for ARM64.
  • Perfectly crafted performance-critical algorithms for ARM64.
  • Aid for hardware intrinsic of ARM64.

When developers were using .NET Core 3.1, they didn’t have native support for Windows ARM64. As a result, everything they created using the .NET framework and .NET core only ran on x86 emulation mode on Windows devices. .NET 5, on the other hand, has full native support when using Windows ARM64. Also, they can use it for development and running applications. While the initial version doesn’t have a Windows Desktop component, you have the option to add it in the future.

About ASP.NET Core

You won’t notice any significant alterations in ASP.NET Core. Nevertheless, development communities are working on performance improvements for HTTP 2 because of the HPack header compression system. It even supports connecting to new endpoints while changing configurations without restarting the application.

The SignalR Hub will allow developers to execute code both before and after Hub methods. It’s how middleware does the job for HTTP requests.

Blazor WebAssembly is still running the show using Mono Runtime, but it shifted to .NET runtime libraries. This change gave it better compatibility as long as the common .NET runtime will be available in .NET 6. It will lead to an increase in performance when compared to Blazor WebAssembly 3.2.

Language updates

.NET 5 also introduced specific changes to the programming languages it supports.

  1. Developers can use C# 9, which brings many new language features that will improve the chore of working with immutable data structures. It will also enable the terser code.
  2. Developers have to acknowledge the fact that Visual Basic doesn’t have any more room for improvement. If they want to facilitate the porting of Visual Basic depending on .NET framework applications, they have to work on other types of projects with Visual Basic in .NET 5.
  3. Another language worth mentioning is F# 5, which prioritizes improvements in analytical and interactive programming to enhance the experience of Jupyter notebooks.

The entity framework core

Finally, you must know about the Entity Framework Core 5.0, which isn’t part of .NET 5 technically, despite being released at the same time. The creators distributed the library like standalone NuGet packages that work with .NET Standard 2.1. Naturally, they are also compatible with .NET Core 3.1. No matter how insignificant it appears, it’s still noteworthy as a change from Entity Core 3.0, which is compatible with .NET Standard 2.0 and even performs on the .NET framework.

Endnote

The creators of .NET 5 and the development community couldn’t unify every .NET runtime as they wanted to because of the pandemic. Nevertheless, they did bring numerous improvements, particularly regarding performance.

--

--

Responses (1)