Introduction

New technologies have knocked into market, it is very hard to select technologies when to use which technology, so there is very good question MVC vs Web forms emerging today. I have posted this article compare with traditional MVC vs Web forms.

MVC vs Webforms

Web form Advantage over MVC Patterns

1. Event Driven Programming

Traditional web forms is based mainly on events,  so when we have to operate any action then we require events. There are bundle of  events involved in traditional programming moreover Microsoft Visual studio have provided many facilities to handle event drive model. So it is very easy to handle developers & he can performs according to situation within limited time.

2. Aggressive State Management

Traditional web forms have great liquidity with him that he have a number of techniques to handle state management efficiently. We can forward our information from one web page to another efficiently & are developer friendly.

3. Controls, Library Availability

Traditional web forms have provided bunch of bundle of controls to deal with complex situations very efficiently. There are series of versions to use 3rd party controls to make application more interactive in less time. There are different script, utilities, open classes, methods & other techniques these help very much developer.

4. Rapid Development

I have overview in #3 that traditional web forms have a series of libraries & controls in the market so we have to reduce development time then we can use alternatively. Reduce time means simply reduce costly as well.

5. Interconnected (Tightly coupled) 

Traditional web forms provides the facility to interconnected the application, in short we can say that traditional web forms are tightly couples.

6. Layered Design

We can design the application architecture different layers i.e. Presentation Layer, Business logic layer, Data Access Layer, I have posted earlier 3 tier architecture

MVC Web Application Advantages

1. Loosely Coupling

MVC forms architecture is based on strongly 3 different layers Model, View & controller so these are different from each other, so these are not connected strongly as in traditional web forms. We can say that MVC web application have loosely couples.

2. Testing Friendly

MVC architecture provides 3 different layers so we can test separately each layers, this is easy task to developer.

3. URL Routing feature

MVC forms have great feature in build in architecture it supports fully URL routing so MVC forms application can appear quickly on major search engine.

4. Not Supported State Management

MVC patterns does not support state management so can avoid unusual requests to server.

Conclusion

MVC is my first choice because it is not event event driven, Loosely coupling, TDD and URL routing is key features of MVC. Web API has been introduced very robust features in MVC to develop HTML based web service (SOA), earlier working with simple web service or WCF (Windows Communication Foundation). Now Microsoft MVC has been enriched with new robust features to develop Hybrid apps and very mobile friendly. Owin security features is remarkable in MVC to overcom traditional ASP.Net.

Suggested Reading