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: ASP.NET, MVC
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.
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
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
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