First impressions of ExtJS
First of all, getting Ext running is slightly more complicated than getting jQuery running. jQuery is a simple matter of including jquery.js in your HTML and then writing your script. Ext requires first it's own
CSS file, then an adapter which uses another library (jQuery, YUI or Prototype) but can also use the newish ext-base.js which doesn't depend on external libraries, and finally you include ext.js itself. I went with the pure Ext solution but tried out the jQuery adapter and found it didn't work for me – I'm sure I was doing something wrong but didn't care enough to fix it and went back to Ext.
Secondly, Ext is rather huge. Not surprising considering what it can do but the whole thing (ext.js, ext-base.js and stylesheet) still comes in uncompressed at just over 512KB. Sorry, I should mention that that's with Ext's default minification – the debug versions are a bit over 1MB! In comparison, jQuery is roughly 70KB before any minification is applied. So what do you get for all this size? Quite a bit actually.
The standard things that I use with jQuery – selectors and AJAX support – are also well supported in Ext, even if they are slightly more verbose. Ext also includes a nifty feature in it's simplistic load() method that allows you to set a loading message, something that I believe you have ot do manually in jQuery.
Ext also supports a wide range of widgets and the like out of the box. Data grids are all the rage now and Ext makes it simple to get them up and running. Tree views, buttons, colour pickers, date selectors and a bunch of others are provided as well. If there's something missing you might be able to find a plugin for it.
Overall, I'm really enjoying working with Ext. It makes some fundamental yet complex things ridiculously easy and provides enough of a framework to get almost anything working with a bit of lateral thinking and liberal application of nested layouts and the like.