Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.
Prototype itself does not deal with anything visual, including animations and controls. This is where script.aculo.us comes in, a visual framework built on top of Prototype to provide an array of effects and controls. script.aculo.us provides six core effects (Opacity, Scale, Morph, Move, Highlight, Parallel) and a bunch of built-in “Combination effects” that use these to achieve more complicated effects. There is also a big collection of user-contributed effects which will give you more options than other frameworks. script.aculo.us controls include Draggables, Droppables, Sortables, Slider, Autocompletion, and In Place Editing. Also noticeable are its Builder (a helper to build DOM fragments) and Unit Testing.
Prototype/script.aculo.us is already integrated into Ruby on Rails and CakePHP, which is one reason why it makes it such a popular choice. The framework documentation is wiki driven and the community is pretty active, which is always a plus.
jQuery takes a different approach to extending the DOM and instead of being class oriented like Prototype is, jQuery provides the jQuery object, created using $, which is extended to provide all the jQuery functionality. An interesting feature of jQuery is its “chainability.” Since every call returns the queried object, you can link functions one after another, making many calls in one statement. jQuery also handles AJAX requests very nicely.
jQuery’s effects and controls are rather limited. There’s drag and drop, and sortables for controls but no autocompletion, which is featured in most other frameworks. However, this emphasizes the “lightweight footprint” of jQuery, being less than 20 kilobytes compressed. jQuery’s documentation is also a wiki and has an active user community. jQuery is very powerful and is a framework that should not be overlooked. Just check out this jQuery solar system and you can’t deny that’s pretty neat looking.
YUI Library is a collection of separate components built on top of several core files to form a library. It is very flexible and you use only what you need to. Created by people at Yahoo!, this framework has the biggest name and its documentation shows it. There’s a cheat sheet for all the components and multiple demo examples. Also worth mentioning is that Yahoo! allows using the library files they host in your sites directly.
As powerful as YUI is, I personally feel it is more complex than other frameworks in getting started. Not to say it is not easy to use, the code you write will tend to be a little longer than the code you write with the other frameworks. Think a little heavier.
There are a lot more frameworks out there that I have heard of but haven’t used yet. Here’s a list of some of them so you can check them out:
Which one do you think is the best?