January 1025

ASP.NET WebForm ASP.NET MVC debates / rants

There has been a lot of discussion about ASP.NET WebForms and ASP.NET MVC recently. There are advocates of both approaches who passionately put their case or dismiss the other as inferior and there are others who take a more pragmatic approach, recognising that both have their place. In The WebForms Rant Karl Seguin starts out by saying that much of the confusion over which technology we should use comes from...

the fact that there isn’t a consensus amongst respected developers with respect to which of the two is better.

Ideally every developer would take the time to truly understand ASP.NET MVC and compare that with their WebForms experience to come up with their own opinion (and even more ideally we'd all largely agree on the pros and cons). The reality though is that some developers don't have the time or opportunity to take the necessary time to learn a new framework. If we are being completely honest, many developers don't have the necessary skill to accurately judge two competing technologies - maybe they are casual developers, maybe they are new to developing; maybe they come from a different technology. There's nothing shameful about that - in fact, that's how most of us learn.

With that said, should you be using ASP.NET MVC instead of WebForms? The short is: continue using WebForms for any existing projects that you have that are working well (you can define for yourself what "working well" means). Use ASP.NET MVC for any other project.

I think this misses the point, and I’m sure this has been said before, but which technology you use needs to be a decision you make in context. WebForms may not be to everyone’s taste but there is a choice. Scott Guthrie’s article does a great job of making this point and I have to say that I find his take on the debate refreshing, it isn’t a rant, it feels measured and well thought out and (maybe) for that fact alone I think I side with him on this matter.

I often find debates around programming model appropriateness and abstractions a little silly. Both Web Forms and MVC are programming web framework abstractions, built on top of a broader framework abstraction, programmed with higher level programming languages, running on top of a execution engine abstraction that itself is running on top of a giant abstraction called an OS. What you are creating with each is HTML/CSS/JavaScript (all abstractions persisted as text, transmitted over HTTP – another higher level protocol abstraction).

The interesting question to debate is not whether abstractions are good or not – but rather which abstractions feels most natural to you, and which map best to the requirements/scenarios/developers of your project.

I am not trying to single anyone out with this post, I think there are valid points on both sides and I am pleased that there are debates as passionately argued as this - it helps drive us towards better ways of doing things and in the long run that can only be to our advantage as developers.

Permalink | Comments (1)

Comments

  1. shooting games United States shooting games (Tuesday, February 23, 2010) #

    I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites blog page list and will be checking back soon. Please check out my site as well and let me know what you think.


Comments are closed