The .NET Future: .Net 5 and Beyond

In April of 2019, Microsoft released its final version of .NET Framework. A month later, Microsoft announced that after its next release of .NET Core 3.0, the .NET platform will soon find a new name in a giant release scheduled for November 2020. This announcement outlined that .NET Framework and .NET Core will come together under the name of .NET. The November 2020 release, titled .NET 5, will be the first release of this new platform that has a schedule for 4 years of updates. One issue with .NET Framework is that it is heavily weighed down by legacy code and doesn’t support Microsoft’s new focus of cross-platform development.

What's Next?

. The red boxes with the dot in the middle shows where the table would allow for the user to click and drag for the resizing of the column

So, what does this mean for current .NET Framework and .NET Core applications? For starters, Microsoft is recommending developers to use .NET Core 3 for any new applications as it will make the transition from Core to .NET 5 easier. Microsoft also says that changing from .NET Framework 4.8 to .NET 5 will be possible but will probably need to find newer technologies to support things like Web Forms and WCF. While implementing these huge changes to a project is daunting and could take a lot of effort, the work will be well worth it, largely seen with performance upgrades from newer technologies.

Cross Platform Compatibility

What do you get when you bundle .NET Core, .NET Framework, and Xamarin into one powerhouse platform? You get incredible cross-platform capabilities across Windows, Linux, iOS, and Android! These are things that will need to be enabled and tweaked to fit different UI cases across devices, but it’s a huge improvement to have this cross-platform runtime capabilities. And yes, this means that even Apple’s Swift will be compatible.

Latest Preview Improvements

At the time of writing, Microsoft has released Preview 6 for .NET 5 as the production release it just a few months away. With each Preview release of .NET 5, Microsoft has introduced many performance improvements and library compatibility to Linux and macOS. Preview 6 revealed a bunch of new web development features including Blazor WebAssembly and JSON extension methods. With Blazor, developers can call JavaScript functions and libraries with C# code for client-side functionality. Now, also with Preview 6, developers can read and write JSON data from HttpRequest and HttpResponse. Developers can use the WriteAsJsonAsync and ReadFromJsonAsync methods to handle JSON data sent and received by the server and client requests. JSON compatibility is extremely important on web applications for quick and easy to read requests from the client to the server. Another big addition to the web app frontier is the ability to allow anonymous requests to endpoints. By utilizing the AllowAnonymous extension, developers now have a simple way to grant unauthorized access to specific elements or endpoints of an application. Also, in the realm of authorization and authentication, Preview 6 implemented a new interface to the AuthorizationMiddleware called IAuthorizationMiddlewareResultHandler. This method allows developers to create custom handlers that can give detailed information on what caused an authorization failure. This information can allow for the implementation of custom responses based off the specific error or failure that occurred.

. The red boxes with the dot in the middle shows where the table would allow for the user to click and drag for the resizing of the column

There are only 2 more previews left before .NET 5 is labeled as feature complete for its release this November. However, there is speculation that this date could be pushed back due to the ongoing global health crisis. One thing is certain though, Microsoft’s .NET team has been working tirelessly, amid drastic changes to the work environment from sudden work from home demands, to deliver the future of the .NET Platform.

Spread the word. Share this post!

Leave A Reply

Your email address will not be published. Required fields are marked *