Both ASP.NET webforms and MVC  are microsoft technologies available for building dynamic web pages.  The following are the reasons why one should you prefer one technology over the other.

Why MVC ?
1) Lightweight and fast : The  ASP.NET follows the event driven approach that strongly binds your UI with the server side event handelling. Whereas in case of MVC, the UI and the server side logic are decoupled and makes them independent entities. Also, MVC got rid of one of the state management techniques called viewstate that makes the pages fat and takes time to load the controls.
2) Highly customisable due to rich support of HTML, CSS, Javascript, AJAX and JQuery : If you look at your design files of MVC, they are plain HTML controls along with server side HTML helpers that will again present the web pages with clean DOM unlike  ASP.NET webforms that generate complex html tags and attribute values while presenting the webpages to the user.
3) Highly modular with clean url support: Clean URL is something very native to MVC pattern, because the route engine process the URLs directly in case of mvc (default format is domain_name/controller_name/action_name/additional_parameters) whereas in webforms the request will try to look for the equivalent aspx page and the url will look too long and unorganized in most of the cases.
4) SEO: As I told you before the mvc webpages will present a very straight forward HTML webpage with clean url that make sense not only to the users but also for the search engines to index your websites. So obviously your websites will be prefered by google or other search engines whenever some one looks for information relevant to your business, that will result in more hits and more business.

Why ASP.NET (Webforms)?
1) Legacy : Being a pioneer technology, we have a lot of applications built in ASP.NET already and it is practically difficult to invest a lot of money for rewriting those applications in mvc. So the enhancements to the existing system will preferably be written in the same software stack, instead writing them on something new.
2) Availability of skill pool: We have a huge skill pool of  ASP.NET developers as it is there for quiet a long time and MVC is comparitively very young technology. So if your project has minimal time to train the resources, going with a familiar software stack is preferable.
3) Not so many dependent technical skills: If you say that you are good in MVC, you are expected to be equally good in HTML5,javascript,JQuery and CSS along with C#.
4) Continuous support from microsoft: Microsoft is providing dedicated support for ASP.NET and continuously investing in R&D to make it better. One of the few significant steps of it is vNext that is aimed at making it lightweight.

What is the difference between ASP.NET MVC and ASP.NET?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s