Working with JavaScript Libraries

Instead of programming directly for a specific browser, it is often useful to work at a
higher level of abstraction by working with a JavaScript library. There are many
cross-­browser differences and fine technical details that are best left to the
JavaScript specialist. JavaScript libraries typically allow you to program the browser as a
generic entity rather than having to account for the differences among browsers.

Ideally there would be one obvious choice for an excellent JavaScript library, and
everyone would use it. The current situation is that there are many JavaScript libraries,
and it is not at all obvious how they compare. For instance, Simon Willison, a
well-­respected web developer, wrote that the big four are the following:[113]

Dojo

Mochikit

Prototype/script.aculo.us

Yahoo! UI Library (YUI)

Others have pointed out Rico (which is built on top of Protoype) and OpenLaszlo.[114]