There is nothing simple about creating effective and cross-browser JavaScript code. In addition to the normal challenges of writing clean code, we have the added complexity of dealing with obtuse browser differences and complexities. To deal with these challenges, JavaScript developers frequently capture sets of common and reusable functionality in the form of JavaScript libraries. In this article based on Secrets of the JavaScript Ninja, the authors discuss the techniques that are used to create two of the more popular JavaScript libraries.

Introducing Ninja (PDF)