Why MVC?

Why MVC?
Yet another MVC introduction? Not exactly… I bet you are all sick and tired of hearing the acronym MVC these days and if you are here to grab a 4 dummies guide to set you on your merry way then Response.Redirect immediately as this is more about the ‘why’ than the code.

Like all big Microsoft innovations there have been much fanfares, Alphas and more recently a Beta with a go live license to wet appetites and fuel the blogsphere with new content, but what is it about MVC which is making headlines and more importantly, why would you (the developer) want to give this a shot?

Control Freaks
I am sick and tired of hearing people complain about the bloated html and unnecessary code which ASP.NET emits to the browser by default, but let’s be frank (or Dave or whoever you want to be) most of these people have been developing apps the drag and drop (MS Tutorial cool aid method) way without really understanding what is going on under the ASP.NET skirt. So again if you happy GUI’ing your way to the programming hall of fame (and I am not at all saying that is impossible) then you can also Response.Redirect.

MVC is pretty much aimed at developers who do understand the rudimentary function of POST and GET and who really want ultimate control over what HTML is rendered to the browser. This ability is already in ASP.NET but MVC takes this a step further entirely removing page bloat like viewstate and the ever lengthening control id’s rendered by ASP.NET currently. It also supports serious unit testing which has, up to now, been very difficult to accomplish in ASP.NET applications. Other real world bonuses include having control over the url’s which render content, which should appeal to the SEO literate amongst you. JQuery is also built in so you have no excuse for not tinkering with (IMHO) the best JavaScript library out there.

Update an existing application?
Good luck to you! MVC does not support the current arsenal of ASP.NET web controls so any Lead Dev who has yet to read the brochure, will need to think very seriously before committing to MVC. Most of the introductions I have seen state this is probably more suited to green field projects, but I wouldn’t rule it out completely. The bandwidth money saved, enhanced SEO and potentially huge performance improvements could far outweigh the cost of development, not to mention the benefits of a properly unit tested code and transparency of function gained by using the Model View Controller model.

Man Up!
So if you are sick and tired of being branded a code pussy by the greasy Ruby and PHP cowboys and you want to take control and responsibility for what your app dishes out to the client then get your stirrups on, mount that pony and get on the MVC trail….
kick it on DotNetKicks.com