Home > .NET, AJAX, ASP.NET, ASP.NET AJAX, JavaScript, Programming Languages, Review, Software > The ASP.NET AJAX Framework is for Dummies

The ASP.NET AJAX Framework is for Dummies

April 21st, 2008

The ASP.NET AJAX Framework is an embarrassing server-side centric approach to DHTML / AJAX web development. While most programming languages and frameworks come with both good and bad parts, the ASP.NET AJAX Framework is an example of a bad part – on the contrast the ASP.NET MVC Framework looks to be a good part.

What’s wrong with the ASP.NET AJAX Framework?

1 .NET Developers are DUMMIES!
The ASP.NET AJAX Framework appears to have been designed under the assumption that .NET developers are dummies and can’t learn or don’t want to learn JavaScript. That .NET Developers would rather hobble along with their familiar languages, then to learn something new. I understand that the ASP.NET community’s only real problem is education, so let’s ask: What is wrong with the ASP.NET Community? Then educate ourselves rather than becoming the .NET Developer statuesque. It’s patronizing to use a framework that assumes learning a new language is beyond our capabilities. Many of these other programming languages are more expressive than statically typed languages like most of the .NET languages. 

2. The “don’t write a line of JavaScript” abstraction leaks like a sieve
The Framework is intended to shelter .NET Developers from the JavaScript language. Which, like driving a car across North America without knowing how to pump gas, stops you dead. Either you depend on someone to pump your gas – depend on a 3rd party (vendors or the ASP.NET AJAX Control Toolkit) and their many authors to write your JavaScript – or you stop moving. As Web Developers, sooner or later learning how to pump your own JavaScript becomes a mandatory skill.

3. Client-side programming from the Server-side is a absurd
The AJAX Framework does back flips to translate server-side code into JavaScript, and then requires that you write JavaScript anyway. Save yourself the pain, learn JavaScript. One day The Law of Leaky Abstractions comes into play, the gas station attendant fills your gas tank with diesel – the AJAX Control Toolkit blows requires debugging and you have to learn JavaScript anyways.

4. Bloated, poor performance, bad user and developer experience
The AJAX Framework extends many of the native JavaScript objects as it attempts to turn JavaScript into a staticly typed programming language, and tries to hook into the ASP.NET life cycle, but all these features are unneeded as they are ALL already achievable through the native JavaScript language – if it walks like a duck and quacks like a duck, then… err… could someone remind me why we need typed languages in a web browser? Anyhow; all these object extensions, enhancements, and upgrades, contribute to more scripts that need to be downloaded and increases the number of scripts running in your browser. Then there’s partial-page rendering and Update Panels which do full page post backs under the guise of AJAX. BAD! Client-side scripting is supposed to enhance the user experience not make it worse. Other AJAX Frameworks are built with performance as their number one goal, but in the ASP.NET AJAX Framework adding more widgets to JavaScript seemed to be the first priority, and performance an after thought.

5. Working against the grain is a waste of time
The AJAX Framework works against the grain, it would be nice if it embraced the JavaScript language. Very few of the concepts and metaphors used in the ASP.NET AJAX Framework transcend AJAX techniques or frameworks - your time is probably better spent learning how JavaScript works or how the other AJAX frameworks work.

6. Disconnected from the ASP.NET MVC Framework
The ASP.NET MVC Framework throws the ASP.NET life cycle away leaving more dead weight ASP.NET AJAX Framework script and rendering many of the AJAX Framework techniques moot.

7. The ASP.NET AJAX Framework almost over looks the ‘J’ in AJAX – ‘J’ stands for JavaScript (that’s GOOD)
JavaScript is the glue of the web, even the ASP.NET Framework depends heavily on JavaScript, it is not something to shy away from.

8. Aside from local intranet sites, no one really uses the ASP.NET AJAX Framework.
The AJAX Framework isn’t widely used. The ASP.NET AJAX site showcases 25 sites using ASP.NET AJAX. None of these applications appear to be high-traffic or moderately high-traffic applications. On the other hand, the YUI site showcases 89 sites, out of these sites, 6 sites (flickr, Slashdot, Linkedin, Paypal, O’Reilly, My Opera) could be considered high-traffic. Other AJAX libraries like jQuery, and Dojo compare similarly. Your time might be better spent learning one of the other AJAX frameworks.

If we (as .NET Developers) are going to claim we know AJAX, then let’s focus on the core of AJAX (JavaScript) and stop obscuring it in poor frameworks. Frankly the ASP.NET AJAX Framework is embarrassing, the web development community is laughing at the ASP.NET AJAX Framework and the Developers touting it.

  1. April 21st, 2008 at 05:38 | #1

    Great post! I agree, and I refuse to use it. IMO, they built that framework to test the limits. I expect them to re-engineer it in the future, because they know damn well they need to have a decent AJAX product to stay competitive.

  2. Adam Kahtava
    April 21st, 2008 at 05:39 | #2

    It would be great if they re-engineered it, but I think it’s too late. They’ve already missed the boat – we’ve been in the midst of an AJAX Library / Framework arms race for sometime now. A couple of these libraries have emerged dominant, however the ASP.NET AJAX Framework is not one of these. Judging from the poor ASP.NET AJAX Futures release, I think MSFT may be giving up altogether on AJAX and putting more momentum behind Silverlight. But this is all speculation… :)

  3. May 25th, 2008 at 05:40 | #3

    At GuildPortal.com, we’re in the process of removing all traces of ASP.Net AJAX from the site. Our traffic, in combination with the massive size (relatively) of the required supporting resources to make even the most basic components of the framework function, leave us no option but to abandon it entirely.

    To make matters worse, Telerik, with their most recent release of the RAD Controls, has wrapped everything around Microsoft’s provided solution. Because of that, as soon as the YUI editor has put on a few more features (like graphical table editing/creation), we’re going to have to drop Telerik’s control suite as well.

    Once we get to that point, well, there’s not much left of the UI side of GuildPortal that can’t be done better than with something like the YUI toolkit or JQuery. Anybody who’s been through the headaches of upgrading from one version of the .NET framework to the next (especially as it is applied to Visual Studio) would then wonder — why are we using .NET at all?

    If we can replace the UI layer with something more dynamic and engaging, with a smaller footprint, then the only things left loitering around in the .NET world would be the data access and services that the YUI (or other) components call. Once we’re to that point, why not pick something a little less intranet-centric than .NET/VS? Maybe something a little more secure, even? Something… Open source?

    Persist, er, I mean: Perish the thought!

  4. Adam Kahtava
    June 1st, 2008 at 05:41 | #4

    @Aaron LOL!!! Thanks for the ASP.NET AJAX war story.

    I’ve had similar experiences, in two instance I’ve had to remove the ASP.NET AJAX Framework. In both instances it was due to poor performance and better options in alternate libraries. In one case we didn’t understand the performance implications of partial page post backs (update panels) or the quirkyness of the AJAX Control Toolkit.

  5. May 20th, 2012 at 18:49 | #5

    The ASP.NET AJAX Framework is for Dummies » Adam.Kahtava.com / AdamDotCom Very nice post. I just stumbled upon your weblog and wished to say that I have truly enjoyed surfing around your blog posts. After all I’ll be subscribing to your rss feed and I hope you write again soon!

  1. No trackbacks yet.