- jQuery : http://jquery.com/
- supports method chaining
- basic methods for dom traversal, find(), gt(), lt(), next(), parent(), siblings() etc..
- excellent documentation
- limited examples
- has effects built in
- very easy to use and get started
- size at ~20kb
- Prototype/Scriptaculous : http://www.prototypejs.org/
- supports method chaining
- poor documentation besides API docs
- hardly any examples
- effects are accomplished via scriptaculous
- scriptaculous about 30kb
- size about 15kb
- Yahoo! User Interface : http://developer.yahoo.com/yui/
- uses namespaces to accomplish tasks. i.e. YAHOO.util.DOM, YAHOO.util.Effects
- utils seperated out into files to load only what you need
- backed by a large corporation
- excellent documentation (almost too much)
- good support for modern browsers
- extremely small footprint when compressed (3kb per feature) (about 20kb for everything)
MooTools/MooEffects : http://mootools.net/
- API Documentation
- Limited examples
- size at 20kb
The frameworks that I specifically looked at were Prototype/Scriptaculous, jQuery and YUI. I have used MooTools in the past but not recently. I played briefly with some other frameworks such as dojo toolkit. I just didn’t have enough time to download and play with all the frameworks as each has it’s own learning curve that is usually pretty steep. I would have liked to review them all but this was not possible.
The first thing in the whole scenario is to decide what is most important to you from the framework. Is it file size of the framework? Support for different types of browsers? Documentation and Samples? For instance, if I were building an application that will only be used internally in my organization by a specific browser (IE7) then I would probably want to use the framework with the best support for IE7. If it is a widely used application across all browsers then perhaps speed and file size would be more important.
Another thing to take into account is groups/irc channels that support these frameworks. All the major ones have irc channels on irc.freenode.net and every framework has a Yahoo/Google group for the corresponding framework. These are good avenues to ask for help once you can’t get something to work correctly and are stumped.
All in all, I will be moving forward with jQuery as it just felt natural once I picked it up and started running with it. I ran into less problems and accomplished more tasks faster then I could with the other frameworks. YMMV depending on your requirements. Hopefully this will help a couple of people out that head down the same path that I have traveled down in the last couple of weeks!