December 11, 2020
Over the last few years there has been a sustained effort to improve the cross-platform reach of the .NET Framework, with the release of .NET Core. However, this has resulted in non-uniform support for each platform, making the .NET Framework cumbersome to use. Will the latest release solve the problems and make .NET App Modernization easier? Read about it here!
The rapid development of the cross-platform successor to .NET Framework, .NET Core, has enabled organizations to build and deploy .NET applications on Linux and macOS, often in public cloud scenarios. The numerous features added over the last few years to both .NET Core and .NET Standard, resulted in inconsistencies in APIs, languages and tools, depending on whether you are building mobile, cloud, desktop, or IoT applications.
To address this, last year Microsoft embarked on a journey of unifying the .NET stack and ecosystem. .NET 5 is actually the next version of .NET Core, removing "Core" from the name and skipping version 4.0 to go directly to 5.0. Namely, technologies that were previously only available in traditional .NET Framework and the cross-platform .NET Core will now be living together under one roof, .NET 5 and higher. For Microsoft, this version 5 is a transition step between 4.x and the plans they have for 6.0, building a unified experience for the developers, eliminating the need to download individual components but keeping the availability of block options as needed.
The main idea was to improve .NET by obtaining: a single unified NET platform and a single NET runtime that works the same in all systems and offers the same possibilities in all development environments, enabling creation of applications of all types: desktop, mobile, cloud, or IoT, and also expanding .NET Core’s capability to include the best of traditional .NET, Xamarin and even Mono.
The availability for Windows on the ARM64 architecture is one of the novelties of version 5.0, and has much to do with the importance that Microsoft attaches to the launch of Windows 10X.
Other new features are the inclusion of version 9 of C# and version 5 of F#, as well as performance improvements in the libraries, especially in the ARM architecture and in areas such as the use of regular expressions, Json serialization and HTTP connections, as well as the inclusion of support for the distribution of software content in a single executable.
According to Microsoft, .NET 5.0 is also already battle-tested, with lower P95 latency, better tools, and better support. This version is also backward compatible with older programs that require an older version of .NET.
Microsoft announced last year that they had stopped adding new features to .NET Framework and finished adding .NET Framework APIs to .NET Core. That means that now is a great time to consider moving .NET Framework apps to .NET Core. For .NET Framework client developers, Windows Forms and WPF are supported with .NET 5.0. and porting from .NET Framework is straightforward.
For .NET Framework server applications, adoption of ASP.NET Core is required in order to use .NET 5.0. For Web Forms developers, Blazor provides a similar developer experience with an efficient and much more modern implementation. WCF server and Workflow users can look to community projects that are supporting those frameworks. The porting from .NET Framework to .NET Core doc is a good place to start.
It is now easier than ever to modernize your .NET Application in order to take advantage of the increased developer productivity and massive cost reductions that can be achieved by deploying applications on Linux, in the public cloud.
Contact us if you have questions about .NET or need help porting your application to .NET 5.0 in your company. We will be happy to give you a helping hand to accelerate progress.