I haven't had a lot of time to play with the new MVC Framework due to work issues that have arisen but I did run across one post that I wanted to comment on.  In his post "Is MVC right for you?" Phil Winstanley does everything in his power to prove that it is in fact not right for you.  He concludes his post by saying...

So, to summarise: -

  • It's important that people understand Web Forms are not being abandoned by Microsoft.
  • MVC is not perfect.
  • MVC is not easy (if you're a Web Forms person already).
  • You will have a choice moving forward of using Web Forms or MVC with you applications.

Please, if you're going to flame me, let me know first and I'll turn off the central heating.

I'm a big MVC supporter but honestly I agree with Mr. Winstanley for the most part.  I think the advantages of the MVC framework have been oversold at this point and I certainly don't think it is worth it to rewrite most applications.  Nor do I think it is worth it for developers who are comfortable in Web Forms to abandon what works for them.

The way I see it the MVC Framework has two advantages:

  1. If you've always felt uncomfortable with Web Forms and the MVC approach makes more sense to you.  This is where I fit in and this is where I think a lot of people with a Computer Science background who haven't already been immersed in Web Forms will probably fit in.  Web Forms does a lot to abstract what is actually going on and if you are intimately aware of those goings on it becomes very distracting.
  2. If you are planning a massive ASP.NET application (and by massive I mean either in code base or user base).  The MVC approach does provide a performance increase and it does make testing a lot easier (and in fact makes some testing possible that wasn't in web forms).  But in 97% of ASP.NET applications Web Forms will provide adequate performance and adequate testing abilities (I made 97% up off the top of my head btw but its a reasonable approximation) . 


I guess what I'm saying is this: If you have to wonder if MVC is right for you than it probably isn't.  The MVC Framework is something that many people have been waiting for in ASP.NET and those are the people it is right for.  I'd suggest that anyone interested play with it to see how they feel about it but there's certainly no need to jump ship on Web Forms anytime soon.