Javascript has exploded onto the web development scene in the last few years, and powers much of the web 2.0 and Ajax revolution. Every web developer now needs to know how to do common Ajax tasks. Thankfully, Prototype and Scriptaculous In Action makes it both easy and enjoyable.
This is a comprehensive book. The size (510 pages) was initially intimidating, but Prototype and Scriptaculous In Action is exceedingly well written and a genuine pleasure to read. The thorough and thoughtful organization of the book provides some real structure to the discussion, making complex subjects easily digestible. This is the defacto bible of Prototype and Scriptaculous, and these days I turn to this book more than anything else on my shelf.
The book is divided up into four multi-chapter parts, any of which could stand on it's own as a definitive guide. The chapters are full of useful examples, and there's strong emphasis given to migrating existing sites to Prototype and Scriptaculous, which is a major plus. You could turn to any section of the book and immediately see how to inject some new behavior into your existing application, but if you take the time to read from cover-to-cover you'll be rewarded with some deep understanding of both the libraries and Javascript itself.
I'll summarize the four parts of the book:
Part 1, Getting Started, introduces the Prototype and Scriptaculous libraries, focusing heavily on Prototype and Ajax. There's a lot of information on re-designing an existing site for Ajax. Two full chapters are devoted to Prototype's Ajax features. You can get up and running VERY quickly after glancing through these chapters. There's also a lot of depth, and consideration is given to the pervasive effects Ajax has on architectural issues and the new ways that an application will have to manage HTTP traffic.
Part 2, Scriptaculous Quickly, covers effects, controls and drag-n-drop. This is hands-down the best Scriptaculous documentation currently available, anywhere. The core effects are explored and tweaked, and there's lot of very practical examples demonstrating some of the niftiest stuff, like running effects in parallel versus sequentially. And the drag-and-drop coverage is incredibly clear, making it easy, almost trivial, to implement. The Scriptaculous coverage is indispensable, and you'll return to it again and again if you implement Scriptaculous-enabled pages.
Part 3, Prototype in Depth, explores Prototype's Javascript-oriented features. There's a fantastic chapter on functions contexts, and the discussion of closures is one of the best I've seen. There's a lot of information about Javascript fundamentals, and how Prototype can be used to implement inheritance, address arrays, and manipulate the DOM in the browser.
And finally, Part 4 Advanced Topics, has two unrelated chapters. The first chapter overhauls an example app, giving it a Prototype and Scriptaculous makeover. The last chapter is about integration with Ruby on Rails. Prototype was initially written as the Ajax interface to Rails, so there's some strong integration.
As a long-time enterprise web developer, dealing with Javascript has always been a chore. But now I actually (gasp) look forward to tasks that involve Javascript. I'm a convert, and I have Prototype and Scriptaculous in Action to thank.