I recently received this email from an MSJoe blog reader.
Hi Joe, thanks for the posts about jquery..
Do you see any advantage of doing the jquery way instead of the ajax toolkit? Or is it just releasing yourself from a dependency on the toolkit and the minimal extra rendering effort for the server with the toolkit?
With the senders permission, I thought it would be interesting to answer here, it’s a great question and one that I’ve received many times. .
To be clear, Microsoft continues to support the Ajax Control Toolkit. Support though, means bug fixes.
If the Ajax Control Toolkit works for you, you certainly can continue to use it. I certainly wouldn’t spend a bunch of time retrofitting pages that use the Ajax Control Toolkit if just to switch to jQuery.
But, in my opinion, for new development there are a number of advantages to using jQuery.
Not the least of which is that the Ajax Control Toolkit is “frozen”. Not only will there be no new controls / extenders, but there are no feature enhancements planned for any of the controls. Most of the controls are “version one" at best. There will not be a version 2 (or even a version 1.1).
Even thought the ACT (Ajax Control Toolkit) is “Open Source”, folks have adopted it as a “Microsoft Product” and it hasn’t really enjoyed much up-take by community contributors.
Since it’s open source, you could modify or extend it yourself, but it’s a pretty big time investment to come up to speed.
jQuery, jQuery UI, and the plethora of jQuery Plug-Ins offer a great alternative, but not a seamless one.
While jQuery is new, frequently updated, rich and elegant, and has a vibrant active community who contributes new plugins every day, for the Classic ASP.NET Developer, there is a big perspective change to tackle.
When you use jQuery for your ASP.NET User Interface, there are no “server-side” events for you to code against and no “server-side” properties either (like the user entered value of a text box).
In a WebForms application, basically all control events cause a form post-back.
Using jQuery (CSS and HTML) the UI elements run entirely on the CLIENT. When you need to execute code on the server (C#, VB.NET etc.) you have two options.
- Submit the complete form back o the server.
That’s a pretty different model that the one WebForms developers are used to.
Apart from the above, what are the advantages of moving to this web application development model?
Well, I think there are several.
- A UI that responds to user input and executes logic, updates the user interface and interacts with the server without the user needing to wait for a page post back makes for a better User Experience.
- This type of experience is increasingly expected by web application users.
Does that make sense ?