Microsoft MVC Framework

by benl

Some of you may be aware of the conference going on this weekend. I wasn’t particularly interested in a gathering of egos in mutual back-slapping, but I was interested in the announcement of the System.Web.MVC framework from Microsoft.

This has been on the cards for a while and had kinda been announced a while back by Scott Guthrie. Since then not much detail has been uncovered other than a one or two hires for the dev team (from what I’ve heard from my sources ;))

Jeffrey Palermo announced some of the technical details in this blog post, although light in actual substance, yet giving us more idea than anything released previously.

Some of the key things of note:

  • Testability: the key concern. Overcome by making everything virtual/behind interfaces and extension points abound.
  • Ability to plug-in to framework via aforementioned extension points. Gives us the ability to add extra view-engines a la Monorail.
  • Default view-engine implementation using ASPX without postback and viewstate pain.
  • Controllers can be resolved from a container i.e. Windsor, etc.

A CTP is due towards the end of the year (Monorail will suffice just fine until, and probably far after then) and the framework is slated for release with VS2008 as an add-on to the general release.

Some of the things I’ll be interested in seeing are whether the following are supported:

  • Handling devices, i.e. sniffing user agent and providing different views. Something just recently provided in patch form to Monorail.
  • The MSMVC equivalent of Monorail’s ViewComponent concept.
  • Routing and URL rewriting support.
  • Monorail Helper equivalent.
  • AJAX support.

It has been mentioned that some of the plumbing may be used to reduce the Monorail codebase. Now that could be interesting…