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
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.
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.
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.
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.
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.
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.
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
Reasons for JQuery API over AjaxControlToolkit:
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.
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.
I was never thrilled with the ajax toolkit. It seemed clunky and bloated.
When I stumbled upon jQuery I never looked back...
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With