ASP.NET WebForms vs MVC from another angle

While scanning my RSS feeds this weekend I’ve noticed a lot of “MVC vs WebForms” type postings. I feel the need for my own little rant in this area. It’s one which I’ve been meaning to get off my chest for a little while, and so now seems like as good a time as any to get it over and done with.. so here goes.

As a possible point of difference, my rant has nothing to do with technology.

I keep coming across posts from developers who are new to ASP.NET, and are asking something along the lines of “How do I do [whatever]…” or “How should I learn ASP.NET” – these questions are often filled with blunt responses along the lines of “Avoid WebForms, learn ASP.NET MVC”. Not necessarily bad advice in certain conditions, however I really feel that without a bit more information or discussion, that sort of response can be a little bit misleading.

As I said earlier, this isn’t about which technology is better – it’s simply about the reality of the marketplace in terms of commercial/corporate development, about understanding what skills employers are demanding right now, and about giving good advice to people who come to forums/communities which are full of professionals and who are expecting a balanced and professional response. As a candidate in an interview you may be able to cite many excellent technical reasons why MVC is better than WebForms, however if the job relates to maintaining a WebForms codebase and you have no WebForms experience then the interview is usually going to end one way.

I have a feeling that a lot of the people who are so avidly talking about MVC feel so passionately about it due to their time spent working with WebForms. How are new developers supposed to have the same level of appreciation without spending time time writing postback kludges or debugging  databinding issues? How can you appreciate having full control over rendered HTML without having to battle with the tables that were auto generated by a GridView (or by developing in SharePoint)? I could go on and on here, but if you’re someone who has spent any time working with WebForms yourself then you’ll no doubt have your own list of analogies to add here.

Is ASP.NET MVC good and worth learning? Hell yes it is. Should you ignore WebForms completely and reduce your versatility as an employable developer? Well, that’s up to you (and obviously if you’re only learning things for personal projects then you can ignore all this – although I’d still argue that you’re better off for doing a bit of research before making your decision).

Over my many years working as a developer I’ve been to many technical seminars and educational presentations talking about development. Many of them have done informal surveys asking who in the crowd always gets to work on greenfield projects, and who doesn’t. Can you guess which way the responses usually go? That, combined with the relative age of ASP.NET MVC, and the glacial speed at which many corporate companies change their standards, is my point – if you’re wanting to learn ASP.NET skills for employment related reasons, you’d be doing yourself a favour by spending a bit of time getting to know WebForms first or alongside of ASP.NET MVC. That time might well be frustrating, but it’ll go a long way towards making you a better and more versatile developer.

Tags: ,

DotNetKicks Image

 Print | Posted on Sunday, January 24, 2010 11:16 PM |



Feedback

Gravatar

# re: ASP.NET WebForms vs MVC from another angle

A block of text I meant to include in this post, is a quote from Scott Guthrie:

"We are always careful to make clear that ASP.NET MVC is an option with ASP.NET. ASP.NET Web Forms continues to be the most widely used approach when building applications with ASP.NET, and the new ASP.NET 4 release contains significant improvements for ASP.NET Web Forms development (clean client IDs and CSS based control markup, better viewstate management, new data and charting controls, URL routing, SEO improvements, and much more). "

1/25/2010 8:45 PM | Ross Hawkins

Gravatar

# re: ASP.NET WebForms vs MVC from another angle

Can someone explain how to get jQuery validation working with this release? It seems like lots has changed/moved since previous releases - making it very hard to get a straight answer from Google!
....

4/16/2010 9:12 PM | meilleur casino de jeux

Gravatar

# re: ASP.NET WebForms vs MVC from another angle

In my opinion, the question is becoming blurred with a lot of the cool features of MVC making their way into Webforms. ASP.NET 4.0 added URL Routing, reduced ViewState, and greater control of the HTML mark-up produced by many ASP.NET controls, now the next version of Webforms will incorporate many more MVC features into Webforms. http://bit.ly/dNhBd8

3/5/2011 11:47 PM | Bartek


Post Comment

Title  
Name  
Email
Website / Url
 

Your comment

   
Ensure the word in this box says 'orange':
 
Please add 8 and 8 and type the answer here:





Due to excessive comment spam, all comments are now being moderated. If you're a comment spammer then you're wasting your time here. Your comments will not be published - ever.


About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand




Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

jQuery Wildcard Selectors - some simple examples

I wrote about jQuery wildcard selector syntax briefly back in 2009, and since then that post has received a lot of views – way more than a post that brief should ever have seen..

Published on October 14, 2011

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008





Archives

May, 2012 (1)
April, 2012 (4)
March, 2012 (2)
February, 2012 (4)
January, 2012 (3)
December, 2011 (3)
November, 2011 (8)
October, 2011 (9)
September, 2011 (8)
August, 2011 (5)
July, 2011 (4)
June, 2011 (7)
May, 2011 (5)
April, 2011 (3)
March, 2011 (8)
February, 2011 (4)
January, 2011 (3)
December, 2010 (8)
November, 2010 (5)
October, 2010 (6)
September, 2010 (7)
August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL