Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Ajax Control Toolkit vs. jQuery

we are currently developing a couple of custom asp.net server controls. Now we'd like to add some Ajax support to some of them. Now basically there would be two options

  • Microsoft Ajax & Microsoft Ajax Control Toolkit
  • jQuery

I worked already with the Control Toolkit, writing a complete Extender and it was quite intuitive, once you understand the story behind. But I also like the simplicity of jQuery.

So I'd like to hear some of you what you would like to go for (advantages/disadvantages of each of them), considering also that we're mainly dealing with Microsoft technologies. Would you go more for the toolkit or jQuery,...or both?

//Edit:
I just made some tests and I have to admit that at the moment I find the Toolkit better due to the integration. My purpose is mainly for using it on the server controls, so with the toolkit I have corresponding classes on the server-side where I can do something like

CalendarExtender toolkitCalendarExtender = new CalendarExtender();
toolkitCalendarExtender.TargetControlID....
...

this.Controls.Add(toolkitCalendarExtender);

This is really nice because in this way I don't have to deal with rendering predefined JavaScript which I construct somehow as string inside my custom server control. With jQuery I would have to do so (except for the toolkit Nicolas mentioned, but the support there is too weak for using it in a professional environment)

Thanks a lot.

like image 938
Juri Avatar asked Aug 25 '09 07:08

Juri


People also ask

Does Microsoft use jQuery?

With official support and the change in direction towards jQuery, Microsoft is now following along what most in the ASP.NET community had already been doing by using jQuery, which is likely the reason for Microsoft's shift in direction in the first place.

What is AJAX tool used for?

Ajax Control Toolkit is a web development tool that is an open-source library. It is a joint effort between the ASP.NET Ajax community and Microsoft which provides a very powerful infrastructure for writing customizable, reusable, and extensible ASP.NET Ajax extenders and controls.

What is Microsoft AJAX?

AJAX features include client-script libraries that incorporate cross-browser ECMAScript (JavaScript) and dynamic HTML (DHTML) technologies, and integration with the ASP.NET server-based development platform. By using AJAX features, you can improve the user experience and the efficiency of your Web applications.


9 Answers

While these might not be major points, I'll try. jQuery does not have an UpdatePanel - This is a good thing. Your jQuery skills would easily transfer to another stack like ASP.NET MVC, Django, or Rails. It's been a while since I've seen MS's Ajax docs, but jQuery's documentation is a huge factor for me - it's excellent.

I've heard of some developers using both libraries, that might be something to look into as well.

like image 111
Andy Gaskell Avatar answered Oct 05 '22 12:10

Andy Gaskell


  1. You have much more documentation for jQuery than for Microsoft ajax.
  2. The jQuery user base is way bigger
  3. You have plenty of plugins for jQuery
  4. bonus: jQuery has a cool name :-)
like image 45
The Disintegrator Avatar answered Oct 05 '22 13:10

The Disintegrator


I occasionally use both. Sometimes the MS AJAX Toolkit is super handy for certain things and other times it's just a mess. jQuery is great for lots of things but can occasionally be limited.

I would, however, err on the side of jQuery since no matter what platform you go to, jQuery will always be applicable since it is completely client-based, whereas the MS AJAX Toolkit skills will not help you should you decide to try another server-side platform.

like image 42
Jason Avatar answered Oct 05 '22 14:10

Jason


For me, I would use AjaxControlToolkit only when the jQuery plug-in does not exist. Moreover, with the use of jQuery control Toolkit, you can use jQuery with server controls. Have a look at it on codeplex

like image 39
Nicolas Penin Avatar answered Oct 05 '22 14:10

Nicolas Penin


Reasons for JQuery API over AjaxControlToolkit:

  1. No issues with "DLL Hell" when another developer picks up the project
  2. Expandable to other server side technologies
  3. Much better documentation (ACT vs JQuery)
  4. Don't have to worry about which version of the .NET framework the server and developer are using to use a specific version
  5. All source is maintained in a single .JS file so there is no question as to what needs to go where for deployment
  6. Doesn't require JIT compilation of additional code libraries on the server
  7. More Granular functionality so you can MAKE a larger variety of interfaces
    1. That is to say, while you can make an accordion control with either framework, you can much more easily extend the JQuery one to say, have 2 panes open at once, or have another action performed somewhere else on the page when one opens, or remove one of the sections based on client side action (that is, if you can't find a control where someone has already done it!)
    2. You also know exactly how the code behind your site works and there is no "black box magic" involved in the behavior of your site
  8. Doesn't require post backs to perform as many actions
  9. Works well with either Forms or MVC
  10. Custom Control Library is MUCH more extensive and supported then that of ACT
like image 33
Jrud Avatar answered Oct 05 '22 14:10

Jrud


The first and most important point in my opinion is the user base for these two.

I think jQuery has a wide user group compared to Microsoft Ajax. So support for jQuery will be much more.

like image 30
rahul Avatar answered Oct 05 '22 13:10

rahul


If you are using WebForms (server controls), you should be using extenders to organize your script and provide a server-side presence for it. Given that a full toolkit already exists (Ajax Toolkit), that's the best bet, but if you really want to use JQuery, write your own extenders that call JQuery. However, if you are using MVC, then just use naked JQuery; it's included in those apps by default, and there are no server-side controls that would need server-side extenders to correspond with.

like image 36
Keith Avatar answered Oct 05 '22 14:10

Keith


I was never thrilled with the ajax toolkit. It seemed clunky and bloated.

When I stumbled upon jQuery I never looked back...

like image 44
steveareeno Avatar answered Oct 05 '22 12:10

steveareeno


JQuery lets your application to be free of ASP.NET releases. We used MS AJAX toolkit and we had to worry about its versions and see if it is compatible with ASP.NET 2.0 etc. We started using JQuery controls and found our application to be much faster and our controls could evolve independently from .NET versions. We could even throw out .NET in favour of PHP as most of our stuff is WebService based. So for presentation you could have plain HTML pages with JQuery and most other stuff can be implemented as WebServices.

like image 36
Azhar Khan Avatar answered Oct 05 '22 14:10

Azhar Khan