what framework will be the most cost-effective to move to?

SteveSmith2022 1 Reputation point
2021-11-13T16:18:23.743+00:00

my team maintains an enterprise web forms application used by thousands of users. we need to migrate this application to a new front-end framework with the minimum cost possible. the web forms pages are %90 written in HTML, CSS, JavaScript, and Bootstrap we rarely use web forms server-side controls.

my team is experienced in webforms and ASP.NET MVC but we are open to using other frameworks if this will help us add new features easier.

there are many options React, Angular 2, Blazor, ASP MVC dot net core.

the main criteria for us in selecting our new front end framework is we need a framework that will allow us to reuse as much code as possible from the existing web forms pages ( %90 written in HTML, CSS, JavaScript, and Bootstrap we rarely use web forms server-side controls ). also, we need to use a framework that makes it easy for us to add new features in the future.

what framework will be the most cost-effective to move to?

ASP.NET Core
ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,190 questions
Blazor
Blazor
A free and open-source web framework that enables developers to create web apps using C# and HTML being developed by Microsoft.
1,396 questions
ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,271 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Bruce (SqlWork.com) 56,846 Reputation points
    2021-11-13T17:14:45.223+00:00

    If you really did not use webform control trees, Razor pages is probably the easiest to convert to. Tedious, but mechanical. Blazor is probably is getting the most MS investment right now.

    Is your application a candidate to be a SPA or PWA? If so then you might look at a frontend framework. As these are generally component based systems, there is probably a large rewrite required.

    Blazor and react have a similar component architecture. Blazor uses attributed state variable instead of hooks, but the coding style is similar, though of course you use c# with Blazor.

    Angular is a declarative template MVVM design, and is the most full stack out of the box. It seems to be losing favor to react and vue, but has a large user base.

    I chose react. I also do n-tier, so the UI web-server does not implement services (for security), but calls them. This has led me to consider next.js as the UI server, and asp.net for writing api services.

    Blazor will probably go in the direction of react/next.js with server pre-render, and project structure in the future. So if you trust the Blazor future (it looks solid), this might be a good approach for you. But again, it’s a total rewrite.

    The biggest issue I ran into converting asp.net to asp.net core was the use of HttpContext.Current. None of the singleton *.Current are supported in asp.net core. You will need to switch to DI.

    0 comments No comments