This article is cross-posted from my personal blog.
With the imminent release of version 1.0 of the ASP.NET MVC Framework, does this mean we should now all be learning MVC as the “old” Web Forms model will be replaced?
The answer is a resounding NO.
The Web is a stateless platform. With the introduction of ASP.NET over 5 years ago, Microsoft provided a “stateful” programming model, so that developers who were familiar with “stateful” systems likes Windows Forms would feel comfortable, and wouldn’t have to learn something completely different to work on Web Applications.
This model has proven to be very successful as demonstrated by the number of ASP.NET sites and by the number of companies providing ASP.NET Controls which are built on Web Forms.
Enter ASP.NET MVC.
Now we have a new paradigm for Web development, one that does not attempt to build a “stateful” wrapper around a stateless platform.
However, it does solve two big issues with the WebForms approach. First is that Web Forms are not very easy to Unit Test as the model is tightly bound to a Web context. Second, designers have little control over the rendered HTML from the controls used.
ASP.NET MVC addresses both of these needs. It is much more testable, and designers have much more control over the HTML that is rendered.
So now we have two ways of building Web Applications, the more “traditional” Web Forms approach and the newer “MVC” approach. If you like the older Web Forms approach – stick with it – as the ASP.NET team is adding many improvements for ASP.NET 4.0, but if you are more comfortable with a more testable approach and you want more control over the rendered HTML, now you have a Framework designed for you – MVC.
DotNetNuke is firmly planted in the Web Forms camp. While there may be new approaches, that we can consider, and lessons that we can learn, it is not likely that we will convert the DNN platform to be built using the new MVC Framework. At least not anytime soon.