Microsoft Ajax Control Toolkit vs. jQuery
Asked Answered
P

11

8

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.

Punkah answered 25/8, 2009 at 7:41 Comment(1)
What are you targeting? User base of the control?Kappa
S
5

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.

Swampland answered 25/8, 2009 at 7:58 Comment(2)
Well..the UpdatePanel is something I would rather try to avoid. It can lead to major performance issues. Using both might as well be an option, yes..Punkah
The Update Panel is a shiny toy for newbie developers. Once you go ajax you never go back.Foreworn
S
4
  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 :-)
Separatrix answered 25/8, 2009 at 7:50 Comment(0)
W
3

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.

Wilkens answered 25/8, 2009 at 8:2 Comment(0)
D
3

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

Desmond answered 25/8, 2009 at 8:22 Comment(2)
thanks for the tip. Didn't hear about the jQuery Toolkit yet. ThxPunkah
+1 first time to hear about this jquery server controls, thanks :)Berrios
A
3

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
Astral answered 25/1, 2012 at 16:20 Comment(0)
C
2

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.

Coparcener answered 25/8, 2009 at 7:45 Comment(0)
B
2

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.

Bluegrass answered 14/11, 2012 at 16:52 Comment(0)
R
1

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

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

Ruperto answered 4/10, 2010 at 17:35 Comment(0)
D
1

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.

Deductive answered 16/3, 2011 at 17:17 Comment(0)
T
0

If you mainly code in MS Shops with Visual Studio, then the toolkit is the way to go, you will still need to know some javascript to do some things, but in this situation the toolkit allow really fast dev and some code behind support for certain controls. That said it never hurts to learn both, the toolkit is really strait forward so the learning curve is small and to some degree which mainly depends on your knowledge of javascript, so is jquery. Most apps I am seeing now a days uses both and it works quite well and once you learn enough of each you will be able to decide what to use where... basically both builds a bigger toolbox and big toolbox is always a great thing to have.

Thornhill answered 15/5, 2010 at 19:2 Comment(0)
T
0

Aren't web controls supposed to abstract client implementation to a certain degree? And if so, isn't it feasible the MS will implement the Ajax toolkit using jquery someday?

Jquery is slick and I like playing around with it, but there's also something very durable about web controls in that their implementation can get updated automatically alongside client technologies.

Taper answered 5/10, 2010 at 10:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.