Why should I migrate my .NET Framework applications to .NET Core/.NET 6?

The most famous project among the .NET platform was the now hated Asp.Net WebForms, which helped many companies on that time to migrate some legacy Windows Forms application to the Web platform, once the Visual Studio allowed developers to drag and drop web controls in visual design mode, a similar experience that took place for desktop applications. I know that feature usually did not generate the best HTML ever, but I think the idea was good in general and had its value at the beginning of it. The Asp.Net Web Forms had a not good performance in many cases, once everything was rendered in the backend, including the HTML, keeping the state using “tricks” with View State. The payload of each page could be enormous in many cases, but it was pretty easy to develop with.

The .NET Framework introduced the Asp.Net MVC project template in order to follow the good practices used in the rest of the market. It was a tremendous success because it was possible to separate responsibilities between the different layers of the application by default and the Visual Studio tools allowed us to easily create CRUD operations using the scaffold option, which creates all the necessary views, database commands using Entity Framework and the logic in the controllers without relevant effort. It was a lot of productive and everyone was convinced of its benefit comparison to Asp.Net Web Forms:

  • better performance
  • compliance with good practices of separation of concerns
  • More alignment with the concept of Web API for the upcoming boom of client-side libraries
  • Improvements in terms of testability
  • Security enhancements

The Asp.Net MVC project template had a huge impact on Web development among .NET developers once the majority of enterprise applications to this date still having many CRUD and repetitive operations. Additionally, the use of integration tests was already a popular practice at this point and the use of Controllers for handling the requests became the task much easier

Asp.Net Web API + Client-side libraries

Web development changed considerably in order to move the payload from the server to the client-side in every case it is possible. With applications being used by millions of users making constant requests, scalability became a key point and, in this context, the responsibility delegation to client/browser was definitely a good idea. The use of client-side libraries got pretty popular with Angular and React leading the market. In order to meet this demand, the creation of an application with only Web APIs in the backend and Angular/React projects in the frontend was a powerful option in order to keep the use of Controllers in the backend and meeting the requirements of the use of client-side to build Single Page Applications. Therefore, the Angular and React templates combined with the Asp.Net Web API project in the backend started being one of the most preferred options among .NET developers for Web development

Why should I migrate to .NET Core/.NET 6?

These are the reasons why it is valuable to move to .NET Core/.NET 6?

  1. There is no support anymore for really old versions of .NET Framework
  2. There are no updates anymore regarding Web Forms
  3. Probably, the maintenance of the project built in old versions of .NET Framework is costing more money once it is consuming more server resources
  4. NET Core and .NET 5 contain tons of improvements in terms of performance
  5. Improvements in terms of syntax and features in newer versions of Asp.Net and C#
  6. Better security is always a good point in newer technologies
  7. Over time, it is much harder to find professionals who are willing to working with old technologies. Everyone likes new technologies and it includes getting difficulties in the hiring process by the companies.
  8. The sooner the better for updating to the newer versions once as long as there is a delay in doing that, the jump will be too big causing possible instability problems.
  9. Opportunity to constantly review the projects to be sure they are following the best practices of software development.
  10. Stability is a good point here once newer versions always contain relevant updates and fix the legacy features.

Comments

Popular posts from this blog

Email Sending through O365 using OAuth Protocol

IISRESET vs App Pool Recycling ?

Deploy .Net6.0 Web api with docker