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.) ::<p>- YUI has a lot of nice widgets, but the organization of its documentation made it hard to learn. Moreso, YUI doesn't make <i>writing</i> 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.<p>- 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.<p>- 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.<p>Ultimately, I ended up mixing jQuery and Ext to get the framework/querying from the former and widgets from the latter.