Scott Guthrie recently posted about the upcoming release of a Model View Controller based framework or addon to ASP.NET.
I don’t normally post about ASP.NET, as on the whole I don’t find it quite frustrating. It isn’t a problem with the the .NET language, it works just fine; however I find the implementation of ASP.NET pretty lacking on many fronts:
- Requires JavaScript, I realise that most people have it enabled but come on
- Rendering, well it needs a lot of work – by default it produces rather nasty HTML
- Request routing or dispatching, meh
- Crufty URL’s, why can’t they just be squeaky clean
- Tight coupling by default
The majority of those you can work around if you feel inclined to put in the effort, however out of the box it is lacking in my opinion.
Enter the MVC ASP.NET framework and you’ve suddenly got:
- True Model View Controller pattern, so you have a clear separation of concerns in the application. You can do that with the default ASP.NET, so it isn’t something new but I expect that the MVC framework is going to make that a whole bunch easier. If nothing else, the separation and testability that it might afford the development community has to be a good thing.
- Clean URL’s and they don’t require the nasty ASP.NET extension anymore.
- Customisable URL dispatch, you can now map any URL into anything you want. I expect this to be a little like the URL dispatcher that Django implements.
- Related to the customisable URL’s, the existing postback model is gone – you now just route requests into the appropriate controller.
- Pluggable, don’t like how the MVC framework implements something – unplug it and plug in another one
I’m sure there is going to be quite a lot of buzz surrounding the imminent release of the ASP.NET MVC framework and I know that I’ll be keeping a close eye on how it develops in the coming months.