4 ms·
I recently had to compare jQuery, YUI (2.0), and Ext for a project heavy on AJAX, client-side data sorting and filtering, and dynamic graphing. Here's my take
by aasarava 17y ago
I recently had to compare jQuery, YUI (2.0), and Ext for a project heavy on AJAX, client-side data sorting and filtering, and dynamic graphing. Here's my take on them. (Note that I already knew jQuery and was looking at YUI and Ext as potential replacements because of their extensive widget sets.) ::
- YUI has a lot of nice widgets, but the organization of its documentation made it hard to learn. Moreso, YUI doesn't make writing JavaScript any easier. I found myself writing dozens of lines of code to do seemingly simple things. And YUI 2.0 didn't seem to have as simple a way to query the DOM as jQuery.
- jQuery is at its core a framework that makes writing cross-browser JavaScript very easy, with very few lines of code. And the jQuery UI add-ons and plugins provide the widgets. Unfortunately, the plugins aren't consistent and they trail behind YUI and Ext in terms of features. But I felt like a jQuery expert in just a couple hours and can't imagine writing complicated scripts without it anymore.
- Ext has a very extensive, professional set of widgets (datatables, datepicker, charts, etc., etc.). It also seems to provide DOM querying in ways that are as simple as jQuery's. But the widgets feel very "heavy" and Java-like to me, rather than light and JavaScript-like. I found that I often couldn't write my own js or CSS to manipulate a widget after it was rendered; I had to use the widget's events and hooks. Hence, sometimes it just feels "heavy." Note also that Ext 3.0 doesn't have very good documentation yet, even though it's the default package available on the site.
Ultimately, I ended up mixing jQuery and Ext to get the framework/querying from the former and widgets from the latter.
- yannis 17y ago> Unfortunately, the plugins aren't consistent. You correct in this respect, but what I found possible was for me to fork some of the plugins. With Ext, I could never dream of doing that in any reasonable time-frame. The last time I had a look at Ext I could not understand if it was possible to introduce some sort of progressive enhancement. Has this changed? Long term the jQuery UI will provide the full set of these widgets, especially since some big names are supporting the organization now. John was a brilliant marketer as he understood what developer wanted. $ not YAHOO.something.something. $().css({}) not Something.Something.getCSS(). IMHO if you look at the evolution of computer languages, Coders always went for the shorthand versions, C won over Pascal as it did away with Begin .. End. This can be applied to all the libaries. It is actually common practice for Coders working with verbose languages such as PHP, to have their own stash of util functions with shorter names. Know Thy Market!