views:

1348

answers:

4

I had an argument with one of my friends who is an architect at a pretty large internet company. Basically he was saying that ASP.NET MVC is not for large-scale enterprise applications, that it is not as flexible as WebForms, and that an MVC app will be slower than a web forms app.

From my own experience working with MVC, I can say that it is more flexible and it is lighter weight because there is no page life cycle, viewstate, etc.. It should thus load faster at the very least. As far as I know, MVC is designed for medium to large scale traffic.

What do you guys think? Has anyone compared speed and performance? And is ASP.NET MVC better for large scale apps than ASP.NET WebForms?

In short, between these two choices, which would you choose to use for a large scale enterprise application?

+3  A: 

I think MVC is a lighter framework, and more performant because it doesn't do a lot of the things that the WebForms framework does out of the box, like viewstate for example. I don't think it would be fair to say that MVC is not for larger scale applications, as it probably scales better than WebForms would in terms of performance. In terms of out of the box features, WebForms does more for you because it handles state between posts for you, via viewstate, etc.

I don't have any links to performance comparisons with me, but I would be extremely surprised if there aren't any out there. Even microsoft probably has some.

Jeremy
+12  A: 

Sounds like your friend is underqualified for his position.

Chris
+16  A: 
  • Development Speed: WebForms
  • Performance Speed: MVC
  • Ease of Use: WebForms (Typically)
  • Unit Testing: MVC (Typically)
Spencer Ruport
Ease of Use is subjective. I've seen people who think webforms are easy and those that think MVC is easier.Development Speed I think will stabilize over time as asp.net MVC becomes more mature and supported.
metanaito
There, qualified. :P
Spencer Ruport
You can unit test web forms applications just as easily as MVC applications if they're created correctly, with proper separation of concerns. We didn't need the introduction of MVC to teach us how to do that. It's just that many ignored unit testing, period.
John Saunders
There, another qualifier.
Spencer Ruport
I prefer WebForms in general but it really does sound like your friend is pretty clueless. Spencer's got the right answer here - especially with his qualifiers <g>.
Mark Brittingham
+2  A: 

this site is a best example of ASP.net MVC's performance ans scaling

some features which I think which is necessary for Enterprise and which MVC provides are

  1. Unit testing - even though it takes time to implement this initially it saves lots of time in the future

  2. Sepeation of Concerns - this really improves development and modification speed

  3. Performance - since both MVC and Webforms use the same ASP.net as the core framework and MVC is lighter and HTTP compliant it give you a better performance

Rony
All three of these can be achieved using WebForms.
John Saunders
I'd really like to know how to do all that in WebForms...
Liao