I asked a few developers about their experiences with using the ASP.NET MVC. The following is Jeremy Skinner's (a member of the MVC Contrib project) experience with developing a site for college applications using ASP.NET MVC:
Although we have now developed several systems with ASP.NET MVC, one of the most successful is the online application form that allows students to apply to our college via the Web and then subsequently track the progress of their application. Despite being given short notice for the development of this project, we were able to implement it quickly thanks to the simplicity of the framework. The system was a resounding success and received more than 1,200 applications within the first 15 minutes of going live.
I've been working with the ASP.NET MVC framework since its first public preview in late 2007. Since that time I've developed several intranet applications and two public-facing websites with the framework. While ASP.NET MVC may not be suitable for everyone, I personally have found the framework's lightweight and stateless approach to web development a much more natural way of working than the pseudostateful approach used by ASP.NET web forms.
However, using the framework so early in its development cycle had several problems. First, the early previews contained a lot of breaking changes from release to release as its API evolved. This caused a lot of frustration as it constantly meant rewriting sections of our applications, but this is the price of being an early adopter. On top of this, there was initially a lack of publicly available documentation on the framework, but thankfully the source code was available, which made it possible to diagnose issues with relative ease.
The MVC framework's simplicity was also somewhat of a curse—its focus on lightweight HTML-driven views (rather than the control-centric model of WebForms) meant that the majority of existing ASP.NET controls and components were not reusable with ASP.NET MVC. However, a community quickly sprang up to address this issue and I contributed several components to the open source MvcContrib project (http://mvccontrib.org).
Despite these initial shortcomings, the experience has been largely positive. The MVC framework has helped to address some of the pain points that I encountered when working with WebForms. For example, being a practitioner of Test-Driven Development, I have found the framework's focus on testability has meant that we could easily integrate it into our development process without the need to write layers of abstraction to ease testing. In addition, the framework's relatively open nature has meant that we have been able to extend and replace areas of functionality where the default behavior has been unsuitable for our needs. I plan to continue using the MVC framework for developing web applications on the Microsoft platform going forward.
You can view the finished site at www.farnborough.ac.uk.
—Jeremy Skinner www.jeremyskinner.co.uk
3.147.193.141