I resisted ASP.NET MVC for quite some time. Not intentionally, and not for for any real compelling reason, but for a while WebForms coupled with my version of an MVP implementation was doing its thing pretty nicely, and a few of the WebForms projects I was working on had customers who really had no reason to shift technologies. Whether you’re charging by the hour or working in a fixed price scenario it can be a little hard to justify jumping into new technologies (although at this point you could hardly call MVC ‘new’) without good reason.
Having said that, there were one or two small greenfields projects I undertook over the past year where I avoided jumping into MVC and didn’t, which is something I regret a little now because after working on a fairly complex project using MVC2 over the past couple of months I have to say I’m absolutely loving it.
Strongly typed Views are great. I’ve always hated the fire and hope approach of Eval based data binding, so type safe views and intellisense make me very happy. VERY HAPPY.
Using MVC feels like “proper” web development – once you get your head around unlearning a lot of your old WebForms approaches. WebForms is, and always was a hack – albeit a hack which was popular and let you build web applications pretty easily.
Proper tidy human readable (ish) URLs – even though I’ve been using System.Web.Routing in my MVP/WebForms implementation it’s nice to have them out of the box, rather than have to bolt them on.
Full control over your HTML! Apparently some people fear this, but… you’re a web developer right? Embrace it.
Obviously there’s much more to talk positively about, and the points above are just a few of my personal highlights.
One thing I was most impressed with was the amount of handy HtmlHelpers and interesting samples I came across over the past couple of months, which shows that the ASP.NET community in general is embracing MVC. One of my main fears back in the days of the early MVC1 release candidates was that a lack of examples/samples/blogging would affect mine and my team’s productivity should we switch to MVC. I think back then it was a valid fear for a team leader to have, but it’s one that the community has now alleviated.
All in all while I’m feeling a little late to the party, it feels like a great time to be getting into MVC. Bring on the migrations.
Tags: ASP.NET, MVC, jQuery, Web Development