While originally an “interesting” technology for the fringe of ASP.NET developers, the Model-View-Controller (MVC) framework is clearly destined to become mainstream. Version 2.0 will be included as part of VS 2010 / .NET 4 and has smoothed some of the rough edges of the initial release.
One of the questions we have been struggling with at Renaissance is what browser development technologies to focus on for our in-house and client projects. Apparently we are not alone – I attended an audience-participation session at the PDC dedicated to the question of choosing between Webforms, MVC, and Silverlight.
Each technology has its pros and cons, and each development project must be analyzed for its particular needs and tradeoffs. Still, I would offer the following observations:
(1) The architecture encouraged by the MVC framework leads to more testable and maintainable applications, with a clear separation of roles – both in software and human developers and designers.
(2) For more “futuristic” applications, where you want more advanced graphics muscle and the power and familiarity of the .NET framework, go with Silverlight. As I said previously, it is the future of UI on the Microsoft platform.
While on the subject of MVC vs. Webforms, check out the interesting post by Scott Guthrie: About Technical Debates (and ASP.NET Web Forms and ASP.NET MVC debates in particular)