ASP.NET have left the track?

I am a fan of ASP.NET. I have teached hundreds of peoples, written some books, have been MVP for that topic. But now I have doubts. Today I try to build a special kind of user navigation experience. I learn ASP.NET have stopped to grow since version 2.0. ASP.NET 2.0 is the most productive web (even UI ) development technology in the market. But today's needs have changed. For my site I need a Menu control which popup horizontal. Menu control is the same since 2.0 and can only vertical. Some tricks based on ASP.NET CSS friendly control adapters does not work cause the development of CSS adapters was stopped in early 2007 (or truly give over to community which is the same). My need is a second static tabbed main menu without dynamic popup. This can be set by MaximumDynamicDisplayLevels to 0. CSS Adapters ignore this setting so I cant use it.

Instead of investing in UI better new controls, extending parts like AJAX Toolkit Controlextender, ASP.NET team develops fancy stuff. Project Volta or MVC Framework.  The ASP.NET MVC framework is: rewrite everything from scratch with less productivity and less controls. It looks like the early ASP times. How much people in percent needs MVC? How much needs nicer UI?

Sorry Microsoft I don't understand your goals at this point.

And it seems 4.0 will not do it better.

24 Comments

  • I have to say that I dissagree with the point about MS MVC beeing less productive. I find myself building web apps with the MVC framework a lot quicker and easier then I did with webforms.

    If you think a web app written using the MS MVC framewok looks like one written in ASP 3, it is simply because you are using the framework in the wrong way. First of all, its fully object oriented, and a view should not contain any logic. Why use a repeater when you have one in your language? It's called a foreach loop.

    I use the MVC framework simply because I find it a lot easier and quicker to write web apps that way. Webforms surely has it's place as well, but I think you need to recognize the fact that MS MVC is a widly used framework and that it will continue to grow.

  • ell if that's the case, why don't you just go to PHP then?

  • you are 100% true, MVC framework is waste of time and AJAXToolit extender is client cpu hogger..Stop improving base asp.net controls is the first big mistake from MS, and they think Silverlight will replace everything!! (wrong again!) though it is a good technology..

  • If you're unaware of the improvements for 4.0, I don't think you're paying very close attention.

    The MVC framework was like a rogue internal start-up in terms of how it came to market, and as such, it did not come at the expense of Webforms. I don't know why you'd have that impression.

  • Have you used Telerik, DevExpress, Infragistics, etc? I think that a reason why Microsoft is not spending too much time on extending controls is because there are many company that provide that functionality. So you only get basic templates that you can extend if you want, or purchase third party products.

  • The MVC Framework is RADICALLY better than the WebForms framework it replaces. It is easier to code, easier to debug, much more standard and modern and much easier for large teams to collaborate on.

  • MVC does not replace Webforms. It runs on top of it, in fact. It's an alternative that may or may not be appropriate for a particular situation. It's not a zero-sum arrangement.

  • Ummm...if you don't like the MVC framework, then don't use it. I'm not sure what the fuss is all about. Microsoft is supporting both frameworks going forward. Others are enjoying the MVC framework and it works for them, so no need to start a WebForms vs MVC war. The two frameworks are pretty good.

  • When I first saw MVC, I got the impression that this is how a web should be built. Much better web framework than ASP.NET webform for large high end projects.

    Events & postbacks from Webform are the advantages and also the disadvantages of ASP.NET. Webform has much lower learning cost for people who used to work on windows application. However the way it tight up codebehind and aspx presentation makes code very unreadable, the viewstats is nice but also something we always try our best to avoid it.

    Our new employees always come to me with a project full of:

    button1_click
    button2_click
    button3_click

    Very dirty default asp.net webform generated code.

    I can list 100 reasons why we like MVC much bettter. We are changing our whole company to use MVC instead of Webform, our new open source kooboo cms was built entirely based on ASP.NET MVC.

  • The implementation of MVC for .NET is probably one of best things Microsoft has done in the past few years. If ASP.NET WebForms is such a good framework, why can't you hardly find any production websites out there using it ? I wish Microsoft would spend more effort in enhancing MVC.

  • I agree with you, MVC is a step back on this journy of web development

  • I sadly agree with what this blog is saying. Even if MVC is the best thing since sliced bread to some people, the fact is that it has splintered the .NET web app folks into multiple camps, at the precise time when things were coming together nicely.

    I know 4.0 will have some nice improvements, but it absolutely has not come along as quickly or as well as it would have without the massive shifts in focus.

  • I'm a Web Forms guy (I love my ViewState!), but, the fact that so many people love MVC is the reason Microsoft created it. Silverlight is a REALLY big deal as far as UI and please don't discount what Linq (all of Linq not just Linq to SQL) has provided. ASP.NET has grown a LOT. I do not code even Web Forms code the same way I did when ASP.NET 2.0 first came out. Using Linq has totally changed my code.

  • I can tell you one reason (maybe not the only) that they have introduced MVC and it is inline with some of the new syntax "features" in 4.0, namely trying to take more web market share away from PHP and Ruby on Rails etc.... (hence the dynamic typing in 4.0). Question is how far will it go before we totally move away from strong typing and go backwards to the VB (pre .net) days. Anybody remember Var?

  • Microsoft has not abandoned ASP.NET WebForms:

    * Dynamic Data
    * LINQ-to-Entities integration
    * LINQ-to-SQL integration
    * Charting Controls
    * Silverlight controls
    * Routing (not just for MVC)
    * Abstractions (easier to write unit tests)

    Not to mention the slew of changes slated for ASP.NET 4.0.

  • Your main need to be around a particular control. Surely this cannot be tied to improvements in ASP.NET in general. The guys who like MVC and don't like Webforms were probably using something else anyway.

  • The ASP.NET MVC framework is: rewrite everything from scratch with less productivity and less controls.

    I think that is a typical excuse for the devs that only drag & drop controls on a page for developing the UI without considering what is the cost of using those controls or the HTML that is generated. I have been using ASP.NET MVC for almost 1 year since the first beta, and I think it's great. In addition, if you combine it with JQuery and all the available pluggings (which are available for free), you have everything you want to build a nice and powerful UI.

  • It still amazes me how many people are afraid to move on from Webforms. Take a look around the web - do you see any other technology as screwed up as Webforms being used? No, you don't. It's because webforms is awful. Are they simple? Yes.

    That simplicity, however, is overshadowed by the horrible disgusting HTML they output and more importantly by the poorly trained "web developers" using Webforms without knowing anything about developing for the web (which I guess was Microsoft's plan in the first place).

  • Bryan,

    something worse than Webforms? JSF (Java Server Faces).... Besides that, I agree w/ you :-)

  • .NET webforms were a reason that I avoided ASP.net at all costs for the last 2 years. It was a mess. The combination of ASP.net MVC and JQuery have brought me back to .Net! (Although, if ASP.net wouldn't have been such a mess for that time I would have never really gotten so involved with JQuery!!)

  • Was it ever on the track? The problem it seems that Microsoft provides a "one true path" and everything else is bad or ignored. They have gotten a little better recently. The Java side has had many different web frameworks for years because people realized that one-size does not fit all in the web world. And they know they don't need to wait on Sun to give them the answer to their problems. To some peoples credit, there are people in the Microsoft world who are trying regardless of history.

    "ASP.NET 2.0 is the most productive web (even UI ) development technology in the market"
    Really? Have you used anything else? Have you used GWT, Vaadin, RAP, Echo, Wicket or Visual Web GUI?

    The problem with ASP.Net (Webforms) is that it tries to serve both web sites and web applications and ends up being a pain for both. Sure it is great if all you want to do is one Form. Now try doing dialogs and multiple forms and different controls in repeaters and JavaScript them on the client and .... Arrrgh! Then try having links to many places and conditional logic with Actions and ... Arrrgh!

    Personally, i don't care much for MVC style frameworks. But that is because I build applications not websites. If I need MVC, I will use it. The problem I see with many of the comments and the original post is that the have a limited world view. They know very little but their sphere of experience. So from their standpoint MVC stinks or Winforms stink or JSF stinks. It might very well for what you do. Or for how you do it. That is just a sign of not knowing the best tool for the job.

  • MVC is the way to go for most web developments but the simplest one.

    IMHO ASP.NET webforms as a GUI layer technology is way better than anything else.

    If you have seen JSP, Django, rails... all they offer templates engine which is nothing better than original ASP.

    GWT is interesting, but I feel ASP.NET webforms are more flexible and easier to grab.

    I don't see any problems with ASP.NET since third parties are doing marvelous components on top of ASP.NET.

    Where I see Microsoft have loose the track is ORM, runtime environments and as usual resource usage and performance.

  • Microsoft should really go with the GWT approach for ASP.NET.
    Separating the client logic and server logic would be a good start, where all client and UI logic is running completely on the browser, and the server only used to send XML/JSON data to the client.

    RIA services can be used for the server side of this, but a totally new client framework (like GWT) should be developed, with strong-typed controls built with C# and client code compiled to JavaScript.

    They once tried to do it with Microsoft Volta, but the project took a too much radical approach by compiling the WHOLE .NET framework into JavaScript, making it huge and non-performance wise.

  • This can be solved by Extremum Energising Communicate Levels 0. CSS adapters snub this scene so that you can use.

Comments have been disabled for this content.