The Future of WebForms And ASP.NET MVC

asp.net, asp.net mvc 0 comments suggest edit

I’ve heard a lot of concerns from people worried that the ASP.NET team will stop sparing resources and support for Web Forms in favor of ASP.NET MVC in the future. I thought I would try to address that concern in this post based on my own observations.

At the PDC, a few people explicitly told me, not without a slight tinge of anger, that they don’t get ASP.NET MVC and they like Web Forms just fine thank you very much. Hey man, that’s totally cool with me! Please don’t make me the poster boy for killing Web Forms. If you like Web Forms, it’s here to stay. ;)

I can keep telling you that we’re continuing to invest in Web Forms until my face is blue, but that probably won’t be convincing. So I will instead present the facts and let you draw your own conclusions.

ASP.NET Themes

If you watch the ASP.NET 4.0 Roadmap talk at PDC, you’ll see that there are five main areas of investment that the ASP.NET team is working on. I’ll provide a non-comprehensive brief summary of the five here.

Core Infrastructure

With our core infrastructure, we’re looking to address key customer pain points and improve scale and performance.

One feature towards this goal is cache extensibility which will allow plugging in other cache products such as Velocity as a cache provider. We’ll also enhance ASP.NET Session State APIs. There are other scalability investments I don’t even personally understand all too deeply. ;)

To learn more about our cache extensibility plans, check out this PDC talk by Stefan Schackow.

Web Forms

In WebForms, we’re looking to address Client IDs which allow developers to control the id attribute value rendered by server controls. We’re adding support for URL routing with Web Forms. We’re planning to improve ViewState management by providing fine grain control over it. And we’re making investments in making our controls more CSS friendly. There are many other miscellaneous improvements to various control we’re making that would require me to query and filter the bug database to list, and I’m too lazy to do that right now.

AJAX

With Ajax, we’re implementing client side templates and data binding. Our team now owns the Ajax Control Toolkit so we’re looking at opportunities to possibly roll some of those server controls into the core framework. And of course, we’ve added jQuery to our offerings along with jQuery Intellisense.

To see more about our investments here, check out Bertrand Le Roy’s Ajax talk at PDC.

Data and Dynamic Data

In Dynamic Data (which technically could fall in the Web Forms bucket) we’re looking to add support for an abstract data layer which would allow for POCO scaffolding. We’re implementing many-to-many relationships, enhanced filtering, enhanced meta-data, and adding new field templates.

There’s a lot of cool stuff happening here. To get more details on this, check out Scott Hunter’s Dynamic Data talk at PDC.

ASP.NET MVC

We’re still working on releasing 1.0. In the future, we hope to leverage some of the Dynamic Data work into ASP.NET MVC.

Notice here that ASP.NET MVC is just one of these five areas we’re investing in moving forward. It’s not somehow starving our efforts in other areas.

Feature Sharing

One other theme I’d like to highlight is that when we evaluate new features, we try and take a hard look at how it fits into the entire ASP.NET architecture as a whole, looking both at ASP.NET MVC and ASP.NET Web Forms. In many cases, we can share the bulk of the feature with both platforms with a tiny bit of extra work.

For example, ASP.NET Routing was initially an ASP.NET MVC feature only, but we saw it could be more broadly useful and it was shared with Dynamic Data. It will eventually make its way into Web Forms as well. Likewise, Dynamic Data started off as a Web Forms specific feature, but much of it will make its way into ASP.NET MVC in the future.

Conclusions

It’s clear that ASP.NET MVC is getting a lot of attention in part because it is shiny and new, and you know how us geeks loves us some shiny new toys. Obviously, I don’t believe this is the only reason it’s getting attention, as there is a lot of goodness in the framework, but I can see how all this attention tends to skew perceptions slightly. To put it in perspective, let’s look at the reality.

Currently, ASP.NET MVC hasn’t even been released yet. While the number of users interested in and building on ASP.NET MVC is growing, it is clearly a small number compared to the number of Web Form developers we have.

Meanwhile, we have millions of ASP.NET developers productively using Web Forms, many of whom are just fine with the Web Form model as it meets their needs. As much as I love the ASP.NET MVC way of doing things, I understand it doesn’t suit everyone, nor every scenario.

So with all this investment going on, I hope it’s clear that we are continuing to invest in Web Forms along with the entire ASP.NET framework.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

40 responses

  1. Avatar for Damon Stephenson
    Damon Stephenson November 12th, 2008

    Hi, I've skimmed over ASP.NET MVC...
    Is the final framework proposed for .net 4.0 and not earlier as an addon thing?
    Web Form model I really do not like personally and the quicker I can get on MVC I feel it will be better for my sanity :P

  2. Avatar for Neal Blomfield
    Neal Blomfield November 13th, 2008

    How backwards do you have to be to keep loving WebForms!?!
    I'd love to meet one of these people who got uptight thinking WebForms were going the way of the Dodo (as I think they should =D) just to try and understand the rationale behind their stance.
    I jumped ship to MonoRail nearly a year ago and dread having to go back.

  3. Avatar for Mark Hildreth
    Mark Hildreth November 13th, 2008

    Neal- If nobody else will, I will stick up for web forms. MVC has specific strengths that are not applicable in a decent number of situations. Sure they're great for entnerprise applications or more websites that require search engine compatibility/optimization, but the html output is largely generated by hand or by hand-written code. While this is fine for senior skillsets, with web forms you get the nice drag & drop designer behavior that is great for low and mid-level skill sets. Look at the conrols from ComponentArt or Telerik - you can very easily add a project reference and then start dragging seriously power controls onto your form, wire up a few button clicks, and you ahve a great solution. The ideal pitch for webforms is not websites, but rather company intranets and utilities used to execute business processes. Implementing a simple solution with little or no code is very valuable in this case.
    I think webforms get a bad rap becuase they are intially powerful with a small learning curve, but page life-cycle and viewstate issues make control development (or reusable webform code in general) very difficult. The drag & drop designer is easy for those coming from a winforms world, but no so much for those coming from the ASP world. Building more advanced scenarios or reusable code has a really steep learning curve and that's not helping. I had to read at least 3 books on control development before I felt like I really "got it". I hope the team can invest in bring more of the toolkit controls into the core framework and continues to build new controls that ease this burden.
    Phil- Thanks for the information. I'd be very interested in hearing more about the Web Forms and MVC crossover areas. Keep up the good work!
    -Mark

  4. Avatar for Jason Clark
    Jason Clark November 13th, 2008

    While it's nice to see that Web Forms will enjoy continued support (which I believe they should), the thing I love about MVC is its inherent ability to work within a TDD framework. It promotes Behavior-Driven Design, which Web Forms just doesn't do.
    Keep up the great work and thanks for reminding everyone that just because it's the new hotness doesn't mean that Web Forms is entirely the old busted joint.

  5. Avatar for Eric
    Eric November 13th, 2008

    It's nice being able to control the ClientIDs. I've tried it on the PDC preview VPC image and it seems to handle a number of scenarios. How about letting us control the name attribute also? Am I the only one that would want that? I guess I want it for the same reason I want to be able to control my client side id attributes... ULTIMATE and COMPLETE CONTROL! :)

  6. Avatar for Quoo
    Quoo November 13th, 2008

    Hey Phil, this is all good news. It's great to hear that as the toolset from MS grows, so does the sharing between those tools. I think MVC is part of a natural evolution and has its place in our world, just as webforms do.
    I remember the good old classic ASP days, and they weren't as bad as everyone makes them out to be. MVC leans towards those lighter, "cleaner" front ends and the all-important TDD factor can not be ignored. I agree 100% with Mark that webforms are wonderful too and have empowered people to do amazing things in even more amazing timeframes.
    All in all, I think that Microsoft is heading the right direction and as these toolsets evolve we will benefit across the board because the people driving things forward at MS have such fantastic vision.
    Great news all round.

  7. Avatar for Emmchild
    Emmchild November 13th, 2008

    I'm glad to see the addition of MVC. Why anyone would not want to write better solutions with testing in mind is just crazy.

  8. Avatar for Jim
    Jim November 13th, 2008

    You say that "adding support for URL routing with Web Forms." But doesn't this already work, as you described back in March?:
    haacked.com/.../using-routing-with-webforms.aspx

  9. Avatar for Mohammad Mahdi Ramezanpour
    Mohammad Mahdi Ramezanpour November 13th, 2008

    It's interesting for me to know what's coming next with ASP.NET. When ASP.NET MVC beta released I said "WOW" because of new features and I really want to know what's new with future versions of Microsoft ASP.NET.
    I want to know if there is any web link we can check out ASP.NET, ASP.NET MVC, etc. road maps?

  10. Avatar for Josh
    Josh November 13th, 2008

    I love the MVC framework so far, I haven't looked back and I grumble every time I have to revisit a WebForms project. MVC is great for the web and I hope to see Microsoft continue to invest in this framework.

  11. Avatar for Pat Gannon
    Pat Gannon November 13th, 2008

    Hi Phil!
    Glad to hear that "much of [Dynamic Data] will make its way into ASP.NET MVC in the future". I've been wondering about that, as it seems like the best of both worlds for those of us practicing TDD/Agile with .NET.
    Take care!
    Pat

  12. Avatar for Steve
    Steve November 13th, 2008

    "the ASP.NET team will stop sparing resources and support for Web Forms in favor of ASP.NET MVC in the future."
    That is the best news I've heard in a long time ;)
    Let's build Rails like scaffolding in next!

  13. Avatar for haacked
    haacked November 13th, 2008

    @Steve You had me for a second. I thought I had a typo in my post until I realized you performed some slick selective quoting. ;)
    @Jim that blog post was something I hacked together as an example. It doesn't work in Medium Trust. We're looking to integrate Routing as a core part of ASP.NET and Web Forms.

  14. Avatar for Buddy Stein
    Buddy Stein November 13th, 2008

    MVC + TDD = Professional Programming Technique.

  15. Avatar for Abdu
    Abdu November 13th, 2008

    I use WebForms and I like them. I use some commercial controls too. I read about MVC and noticed it doesn't support server controls like the gridview. It expects me to use a foreach loop instead of using a repeater? I don't want to spend time hand coding html.
    I am not quite ready to throw away all the controls I have been using so far. I will wait till v2.0 comes out where it has support to more controls and be more mature. There's too many other technologies to learn.

  16. Avatar for Andy
    Andy November 13th, 2008

    From my point of view I see ASP.NET WebForms and Dynamic Data to be the RAD platform, competing with platform-as-a-service type offerings from Salesforce and Oracle. ASP.NET MVC becomes the testable enterprise and Web 2.0 style platform, for more agile AJAX apps. I see those as totally complementary to one another.

  17. Avatar for secretGeek
    secretGeek November 13th, 2008
    [the big blue giant will] stop sparing resources and support for Web Forms in favor of ASP.NET MVC


    sheesh Phil! check yo ego -- we all know that mvc will be just another fad, abandoned as soon as some other wannabe technology comes along...
    all hail viewstate!
    praise the mighty control life cycle!
    testability? shtestability!
    mockability? i mock thee!
    lb (c;

  18. Avatar for Matt Dragon
    Matt Dragon November 13th, 2008

    I never really liked Web Forms from the get go, because the model of WinForms beaten into the Web never really sat well with me. The real death-knell though was the first time in VS2003 that I couldn't open a web form in design mode any more. No real reason, just VS refused to open it. I had only ever edited it in Design Mode, never hacked by hand in VS or anywhere else. So since i could no longer edit the page, there's no way any one who's still sane can work with all that asp:stuff by hand, I had to rip out all the web forms stuff and replace it with plain HTML. Took a little work to re-do the code behind stuff that connected it, but I've never looked back. I've never had an aspx that's just plain HTML fail to open in any editor, even VS :P. About 2 years ago I moved to Monorail and thought to myself "This makes building .NET web apps fun again." Maybe if I had problems getting Monorail in the door I might look at ASP.NET MVC, but for now, it's too late to the game, and gives me no real reasons to move off Monorail. If MS hadn't wasted several years trying to cram Web Forms down people's throats they could have been quicker to the game with MVC and maybe had a chance of getting people like me on board.

  19. Avatar for haacked
    haacked November 13th, 2008

    @secretGeek C'mon Leon. I thought it was my very large ... ego that keeps bringing you back to this blog. ;)

  20. Avatar for Andy Stopford
    Andy Stopford November 14th, 2008

    I find it interesting that folks are starting to get angry that consider webforms to be going away when very clearly it is not the case. I guess some of the anger may be concerns over existing investments in web forms rather any than the ability of the developer (as some folks seem to think to use webforms is an indication of your ability). Webforms has a lot of pain points and it is great that the team is addressing some of those points. TDD in webforms is still like pulling teeth, MVP in webforms works well but is still a little clumsy, but if you want testability and SOC then you have MVC ;-) trouble is with all the investment in webforms your a little stuck. In the webforms\mvc cross over can we have a clean SOC in the webforms code behind and the ability to use the MVC view engine.

  21. Avatar for Steve
    Steve November 14th, 2008

    Abdu - a server side control emits html that is placed on your page - right? A 'html generator' lets say.
    asp.mvc has the same concept with controls. It's just called HtmlHelpers. There are Grid's available, etc.. (see mvccontrib) - it's very easy to build a control.
    Controls shouldn't be the deciding factor here - granted, you can't drag and drop (yet)

  22. Avatar for labilbe
    labilbe November 14th, 2008

    I feel a talk missed at the PDC.
    Something like "ASP.NET WebForms and MVC, which to choose?".

  23. Avatar for Ed
    Ed November 15th, 2008

    A revamp of the asp.net controls in 4.0? It's about time, for Safari/FF to be compatible with the Menu control I have to revert to things like:
    if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
    {
    Request.Browser.Adapters.Clear();
    }
    After 3 updates of the framework you can see i'm a bit dissapointed.
    Sincerly
    Ed

  24. Avatar for Justice~!
    Justice~! November 15th, 2008

    OH MY GOODNESS.
    I've never seen a bigger bunch of babies than the people crying about WebForms!! Hey, I'll chip in the huge amount of money I make on MVC projects to buy soothers for these $30K a year WebForms mouthbreathers.

  25. Avatar for En
    En November 17th, 2008

    Neal Blomfield said:
    "How backwards do you have to be to keep loving WebForms!?!"
    This short sited view is becoming boring.
    If you understand how to wield webworms correctly they are a very powerful and scalable platform .
    I’m not talking for rad development either, I’m talking about enterprise level n-tier architectures, implementing MVP in the UI layer no less.
    I know webforms attracts allot of hacky code due to it being too open end for its own good (and Microsofts insistence on pushing the drag and drop elements of it) but many of us know the good from the bad and choose webforms with a solid understanding of it's pros, cons and possibilities.

  26. Avatar for Adam Kahtava
    Adam Kahtava November 18th, 2008

    WebForms were great in 2003-2005, but since then ASP.NET has constantly disappointed: UIPAB (MVP) was a configuration exercise, ASP.NET Themes & Skins were out of line with the rest of the web community (CSS), ASP.NET AJAX attempted to drag the WebForm baggage into JavaScript, and 3rd Party controls were more trouble then their cost.
    The word on the street is that WebForms are for "kiddies". :)
    Keep up the great work MVC team! Hurray for MVC!

  27. Avatar for SD
    SD November 19th, 2008

    It is not about Webforms or MVC. Microsoft should not get into design patterns (usually they are really bad at them).

  28. Avatar for jeet
    jeet November 27th, 2008

    I love webforms ...MVC is good in certain aspects and cases.But u must have some solid reasons to drop something in favour of something else.I dont see any reasons.Enterprise level(n tier) apps were made successfully before MVC came and people were happy wid the results....I see no reson to switch to something new when u already have something which u are happy with.MVC is big timewaster in terms of htmlcode and codebehind being together and it looks ugly as well....long live webforms!

  29. Avatar for Steve
    Steve November 29th, 2008

    I'm waiting for a good 'web-based xaml view engine'. Write xaml anywhere :) We have our WPF, Silverlight, now we need asp.net xaml view engine :)
    What I'm seeing with templating is just the wrong direction imo. If your going to go the declarative route in all of this, why not pursue a common view engine for developers across your platform.
    Obviously mvc makes for the easiest choice since we've already seen how view engines can be put together.

  30. Avatar for Johan
    Johan January 5th, 2010

    "WebForms were great in 2003-2005" - Agree with this statement and with everything Adam Kahtava says. If not for MVC I would have switched platform.

  31. Avatar for John
    John April 1st, 2010
  32. Avatar for Roboblob
    Roboblob June 10th, 2010

    I think that ASP.NET MVC and WebForms both have their purpose and reasons to live as technologies side by side.
    MVC paradigm demands a shift in the way of thinking when developing applications and this could be the most important advantage over WebForms (where you can just drop controls on the design surface and double click them to setup events in code behind etc).
    On the other hand, ASP.NET MVC lacks strong support in custom controls (built-in or 3rd party) and this is where its much weaker then WebForms.

  33. Avatar for hajan
    hajan July 28th, 2010

    I personally love ASP.NET WebForms coz have been working with WebForms for about 5 years now. However, the MVC framework is great for test driven development and many developers can work together much better organized.
    I like both frameworks and personally, I still love more WebForms than MVC, even though I've already started developing MVC apps regularly almost few months now.
    I think the problem with the MVC is that many juniors get 'scared' once they start learning about it. It has a lot of new things, new terms and one thing which applies for everyone: 'Developers often need to have completely freedom on the way of how to organize their logic from the ZERO level, I found that some of the developers don't like it because they feel that they have to follow rules which exists only in the MVC framework for web development' - Anyway, I think once get used to work with the way of how its organized, everyone will like it :).

  34. Avatar for dave
    dave September 16th, 2010

    I can proudly say I took one look at webforms all those years ago and dismissed them within an hour or so. They were so obviously unsuited to the flexibility of the web.
    ... and the horror code I have split my sides looking at: people writing pages of garbage simply to get back to default html/http behaviour! ... jscript event links replacing , and revealing completely wrong customer account details regularly, and noone knowing why, and the whole site navigation wrapped up in the mess.

  35. Avatar for jason@Work
    jason@Work December 12th, 2010

    One thing that I often hear is that MVC is inherently suited to TDD/more testable code/greater code coverage, whereas WebForms isn't.
    What it often overlooked is that you can realise these testability benefits with the Patterns & Practices WCSF. If used properly you get all the richness of ASP Web Forms controls with testability enforced through MVP/Dependency Injection. This framework is worth considering if you are not quite ready to jump ship to MVC and you have a workforce skilled in ASP.NET. The WCSF/CWAB is only a thin layer on top of ASP.NET WebForms and isn't quite such a paradigm shift.

  36. Avatar for Robert
    Robert March 8th, 2011

    Just integrated webforms into an ERP implementation for a client. Microsoft Dynamics NAV to be exact. Still works along with newer technologies.

  37. Avatar for Morten Bergfall
    Morten Bergfall September 23rd, 2011

    Since this is the top Google hit for "future of asp.net",
    and we've since seen MVC reach and pass(?) adolescence;
    it would be interesting and very helpful to get an update of the situation.
    Have ASP.NET and ASP.NET MVC become so entwined, that your post still stands as truth?
    Is there any statistics of use you can make available?
    I think many would benefit, as there is still a lot of ASP.NET sites being met by new developers, and the discussion of whether to migrate or not is rampant across the globe, methinks.
    Thanks!

  38. Avatar for BhaktaVatsal
    BhaktaVatsal December 14th, 2011

    Enterprises are killing ASP.NET Webforms over MVC 3 and the upcoming 4 argument by merging it with HTML 5 specification. Lack of knowledge from people and sheer media and tech news are driving the technology decisions, unfortunate but bitter truth.
    They both have their own advantages and disadvantages, no doubt, but to an extent that, oh Webforms - hmm won't be there kind of arguments makes the management scared. Any update you can provide on your view now since MVC 3 is out and 4 is on horizon will really benefit the enterprise architect idiots to make such statements.
    Thanks,

  39. Avatar for Erik
    Erik December 21st, 2011

    If you are new to ASP.NET, MVC is probably the way to go (for now).
    Because you will be pushed/forced in the right direction of web development.
    But if you understand the do's and don'ts in web development and are familiar with webforms, there is no real need to switch.
    I mean, it's not an obligation to use serverside events and viewstate if you use webforms.
    In fact, many people have been building AJAX driven, mainly clientside rendered webapplications i.c. with asp.net webforms for quite some time, including myself.
    And it's rumored that some of the core features of MVC will be implemented in the next webforms version.
    Like auto validation with data annotations and further separation of viewpage and "controller".
    Whatever you choose, it really depends upon the developer how well a webapplication is build.

  40. Avatar for ScriptKiddie
    ScriptKiddie October 8th, 2012

    Well, listen to the purists rant. Hmmm.. Most of what I've seen with Java and asp is primitive and crude compared to the power and sophistication of a telerik web grid. So basically, I'm hearing the argument that Web Forms are not elegant enough or fast enough or scalable enough. But I am not going to try to explain to my customer why my team is still jacking around with html and css and spending thousands of their money hand crafting spinning logos.. The reality is that the world is coded by the 30 -40/ year script kiddies.. wake up brothers.. MVC is a time warp to ASP and javascript..