Do you know any scenario where asp.net mvc can outperform asp.net? Because while comparing these two, people always say that each of them are different beasts and may be a better choice depending upon the scenario.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
I think if you are talking performance like efficiency of HTML generated, speed the page is returned, etc., it doesn't matter which framework you choose. It matters which developers are on the project. You can make a speedy website with either framework, and you can make a horrifically slow website with either framework.
That said, I believe MVC makes you a little more aware of the content you are generating, and the tasks you are performing on the server, and this awareness might make the developers more likely to pay attention to performance, thus resulting in a faster site. But this is a side effect.
I have seen many aps.net web forms suffer from Viewstate bloat which severely affects performance. Using MVC take the problem of Viewstate away which will increase performance - however both web forms and MVC suffer when bad designs or developers are at the helm.
ASP.Net MVC is ASP.Net - they're the same thing. MVC is one set of handlers, WebForms is another or you could even write your own.
In terms of raw performance they'll be exactly the same, deep down ASP.Net is doing the same actions regardless of the handler.
However, in general MVC apps tend to be much quicker. This is because WebForms abstracts away the underlying HTTP model - developers are thinking in terms of components and their events, rather than in terms of HTTP request and response. It hides parts of the web model that are inconvenient, for instance the lack of actual state model is hidden by WebForms having a massive
However all that keeps WebForms apps easy. Desktop developers can build a page, drag in buttons and controls, subscribe their click events and so on using the UI.
MVC deals much more directly with the HTTP pattern, so developers deal in links launching URL actions (which is what the web does), rather than components firing events (which is an abstraction hooked up as the response is processed). You're far less likely to have large hidden form variables and huge scripts added to the page by components, but they also tend (at least at first) to be more work.
All that said nothing matters as much as how good your devs are.
I would say that a site that has a lot of dynamic content based on displaying/editing database content (like StackExchange apps and blogs, etc.) will be a good choice to use MVC, while more advanced applications, where you don't have a simple template for how things will look, but has many buttons that will cause anything strange to happen... well morle like a desktop application than a web site, you will rather use asp.net