I’ve been doing a lot of AJAX development over the past 6 months, and the vast majority of it has been using ExtJS.
That being said, I have set out to give both jQuery and YUI a shot as viable AJAX frameworks. All three frameworks have their pros and cons… but I’m prepared to offer my opinion on the battle between ExtJS and YUI.
Why I think ExtJS is better:
- SUPPORT: ExtJS has a vastly superior community board for discussion and troubleshooting. In fact, ExtJS is the only one of the three frameworks to have a full forum — YUI uses Yahoo! Groups, and jQuery uses Google Groups.
- DOCUMENTATION: ExtJS has (in my opinion) much better documentation than YUI. It’s easier to read, better organized, and (most importantly) written in their own framework.
- MULTI-PLATFORM: ExtJS has its own integration with GWT (for Java developers), whereas YUI does not.
Why I think YUI is better:
- WEBSITE DEVELOPMENT: YUI has a number of tools which (stand-alone) are useful in developing websites. (e.g. Menu, Carousel, Charts)
- PICK-AND-CHOOSE: YUI allows developers to only include relevant JS files — which will reduce load times on pages only using small YUI objects. YUI also allows developers to include the JS files directly from the Yahoo! servers, which could decrease load times as the number of HTTP connections to your own server are reduced.
Personally (having developed the UI for large N-Tier applications in ExtJS), I like ExtJS better for application development. While YUI offers their “Charts” (which could be useful for reporting), there’s no real reason to use that over the Google Visualization API.
Plus (again in my opinion), documentation and support and gigantic flaws in the YUI model. It’s awesome being able to login to an actual message board, rather than having to search the Yahoo! Group message by message. YUI documentation does have a bunch of examples, but I don’t think they’re constructed all that well and they certainly don’t implement any of the cool features that I know YUI can do… you have to figure those out for yourself.
My vote: use ExtJS.
Nice review. Ext has the ability to pick and choose what JS files you’d like to include for a long time. Check out the build your own tool on our site.
http://extjs.com/products/extjs/build/
The build your own tool will let you pick and choose certain packages and actually build a compressed version for you. We also provide a CDN that you can use free of cost:
http://extjs.com/blog/2008/11/18/ext-cdn-custom-builds-compression-and-fast-performance/
We also have a few other things coming for the Ext 3.0 branch that I think you’ll find interesting. Be on the lookout
I wasn’t aware of the pick-and-choose functionality of ExtJS, so thanks for pointing that out! I’ve been experimenting with jQuery lately, and it also has something similar where it will build you a customized ZIP file.
I’m really looking forward to Ext 3.0. Until then, I’ll see you on the Ext boards…