As expectations of JavaScript rise, tools for managing the complexity of JavaScript development become increasingly important. The number of open-source libraries has increased dramatically in the past few years, all of them promising to reduce development costs and ensure better browser compatibility. The most widespread of these are Dojo, MochiKit, JQuery, YUI and Prototype.
Before selecting a library, it is important to understand the problems that they are designed to solve. These encompass low-level tasks such as event handling and DOM manipulation; complex problems such as animation and drag-and-drop; and high-level behavioral components such as slider and date selection widgets.
Different libraries take different approaches to tackling these, and understanding the implications of these design decisions is important in order to pick the library best suited for the application at hand.
This talk will provide an overview of the five main libraries, and break down the problems that they solve and the differences in their approaches. This theoretical background can then be used to identify the library best suited to a given task.
Simon Willison is a freelance client- and server-side Web developer and the co-creator of the Django Web framework. Simon’s interests include OpenID and decentralised systems, unobtrusive JavaScript, rapid application development and RESTful Web Service APIs. Before going frelance Simon worked on Yahoo!’s Technology Development team, and prior to that at the Lawrence Journal-World, an award winning local newspaper in Kansas. Simon maintains a popular Web development weblog at http://simonwillison.net