Monday, April 19, 2010

The state of the client-side ASP.NET Ajax 4.0 framework

The people who follow my blog might remember the ASP.NET Ajax 4.0 series. In these series I showed some of the core features of the ASP.NET Ajax 4.0 beta javascript library.

In January Microsoft told us that they would ship the ASP.NET Ajax 4.0 library as a part of the Microsoft Ajax framework, together with the release of ASP.NET 4.0. A few days ago I was ready to dig in the library a little deeper, but I found out that most of the documentation and resources I used to consult, had moved or had disappeared.

If you follow me on Twitter you might have seen me ranting about this. Lee Dumond and Stijn Volders told me that the ASP.NET Ajax 4.0 library now is a part of the Ajax Controltoolkit and that it's deprecated.

I contacted Dave Reed (InfinitiesLoop) for some more clarity on this subject and he told me this:
The scripts aren't going away, but we aren't investing in them anymore, instead we are looking at how we can extend jQuery to meet the same needs. We are folding those scripts into the AjaxControlToolkit (on -- is no longer), so you can still get them from there, and even contribute to them if you would like.

Dave also pointed me to a post on Stephen Walther's blog, where this part is interesting:
We are moving the ASP.NET Ajax Library into the Ajax Control Toolkit. If you currently use ASP.NET Ajax Library client templates, client data-binding, or the client script loader then you can continue to use these features by downloading the Ajax Control Toolkit.

Be aware that our focus with the Ajax Control Toolkit is server-side Ajax. For client-side Ajax, we are shifting our focus to jQuery. For example, if you have been using ASP.NET Ajax Library client templates then we recommend that you shift to using jQuery instead.


It's like the client-side ASP.NET Ajax framework is jinxed. Same as with the previous releases of the client-side ASP.NET Ajax framework, this release is dead before it got a chance to live. I definitely have sympathy for Microsoft on this one though, jQuery really is that good. I only hope that they will be able to push some of the best features of the ASP.NET Ajax 4.0 library into jQuery.


  1. In the long run, this will be a good move. I applaud Stephen, Dave, et. al. for seeing the writing on the wall, and realizing that there was no longer any point in pursuing a separate client side library while the rest of the world was moving to jQuery for that.

    The bad part is that this really leaves us in limbo for the time being, as there's nothing out there right now that even comes close to replacing the functionality that MS had developed for ASP.NET Ajax 4. There are templating options for read-only scenarios, though nothing really that matches the databinding and scriptloading capabilities at all.

    Unfortunately, any MS contributions to jQuery may take a long time to be accepted, and in fact may not be at all. It's a waitng game right now.

  2. The writing was on the wall 18 months ago and I argued with Bertrand about this. Imagine what could have been done in that time!