Blog

Follow the latest thinking from people working at the cutting edge of innovation and have your say on everything from economic policy to robot overlords.

Pros and Cons of Asp.net Web Forms and Asp.net MVC

by Abdul Raheem

Posted on

Web Development | Code Desk

After the launch of Asp.net MVC in 2008 by Microsoft there is a lot of fuss and discussions among the developers and as well among the clients that which platform is better.

So in this article we will try to figure out what are advantages and disadvantages of both of these technologies.

What is Asp.Net?

ASP.NET is a Microsoft’s Web application framework built on Common language runtime for building dynamic web sites using one of the programming languages like C#, VB.NET etc. It supports 2 models Web Forms and ASP.NET MVC.

What are Asp.Net Web Forms?

ASP.NET Web Forms is a part of the ASP.NET web application framework in Visual Studio.

Web forms can be written using a combination of HTML, client-script, server controls, and server code. When users request a page, it is compiled and executed on the server by the framework, and then the framework generates the HTML markup that the browser can render.

An ASP.NET Web Forms page presents information to the user in any browser or client device.

Using Visual Studio, you can create ASP.NET Web Forms. The Visual Studio Integrated Development Environment (IDE) lets you drag and drop server controls to lay out your Web Forms page. You can then easily set properties, methods, and events for controls on the page or for the page itself.

These properties, methods, and events are used to define the web page’s behavior, look and feel, and so on. To write server code to handle the logic for the page, you can use a .NET language like Visual Basic or C#.

Advantages of .NET Web Forms

Following are the advantages of Web Forms:

  • The mechanisms behind how controls and pages work within an event-driven structure are abstracted out so that the developer generally does not need to know the inner workings of the process.
  • Drag and Drop Controls are available, which makes the availability of 3rd party solutions and Grid control automatically generates the essential HTML and Java Script for the developer.
  • Validations can be easily implemented by setting up the properties of controls.
  • Web Forms are in market from a long time and most .NET web developers are experienced with Web Forms or from the desktop development from which web forms were driven.

Disadvantages of .NET Web Forms

Following are the disadvantages of Web Froms

  • Auto generated HTML does not provide full control to the developers.
  • HTML ID management is compromised and it makes difficult to use client side languages like Jquery.
  • Even though Microsoft has taken steps to improve this in the latest release of MVC, not enough time has passed to determine if they’ve truly resolved this issue.
  • A few developers are familiar with the life cycle of the web forms. Which makes the developers to use of 3rd party controls.

What is MVC?

The MVC design pattern was not invented by Microsoft. Rather, it has been around for upwards of 30 years, having been first introduced around 1979. Since then, the methodology has been implemented by such well known platforms as Ruby on Rails, Apple’s Cocoa and Apache Struts. Only relatively recently has Microsoft added the MVC design, building atop the .NET framework.

As a result, .NET developers have the option to develop applications within the existing .NET world they already know but can eschew the lack of overall control offered by the drag & drop of Web Forms. With MVC they can embrace the same separation of concern (SOC) paradigm that has already proven to be successful in other frameworks.

Admittedly, not all MVC implementations are exactly the same, with slight differences existing between the different frameworks. For example, Microsoft’s implementation of MVC more closely resembles Rails and Django rather than either Apple’s Cocoa or even the original implementation of MVC, Smalltalk-80.

Advantages of MVC

Multiple Forms

Web forms do not allow for multiple forms on a page, whereas MVC allows for any number of forms on the page.

Similar to other established, non-Microsoft Frameworks

Developers with backgrounds in PHP, Ruby, or Python, will find architectural and event methodologies similarities to those implemented in MVC

Adheres to the “stateless” nature of the web

One big advantage is that Session usage is minimized so that the URL’s now become the drivers behind data maintenance.

SOC (separation of concern ) is encouraged and easier to implement.

Disadvantages of MVC

Developer should be very much familiar with HTML and client side languages.

Conclusion

No one solution is an absolute better choice than the other. The application framework should be chosen based upon the needs and resources of the company doing the development. If you have a development cycle that requires faster than expected turnaround, then Web Forms might be the best option for your company.

If your development project has the time, money, and energy to develop an application from the ground up then MVC could potentially be the better option. Again, neither framework is the definite best option, but one could potentially be a better for your development team structure and resources. Segue has extensive experience with both frameworks and would be more than happy to help consult on your development decisions.

Code Desk Blog

Abdul Raheem is a web developer, working on Asp.net MVC and Umbraco. He loves to learn new technologies and to learn new tweaks. He is some how a tech geek.