One major problem with JavaScript programming is that, differently from other languages, there are little programmers with really good knowledge of it.
This problem is tightly related to the lack of a solid culture in front-end development, which usually is a gray area between programmers and designers.
Even if a solid knowledge of JavaScript should be a must, a good way to avoid bad practices and headaches is by using a JavaScript library, which will make coding easier and much more beginner friendly.
MooTools is such a library, and offers a lot of methods and patterns for better JavaScript coding.
Introducing MooTools 1.2 Beginner’s Guide
Even if I’m not a MooTools novice, i had the chance to read MooTools 1.2 Beginners Guide by Jacob Gube and Garrick Cheung (Packt Publishing), which turned out to be also an interesting reading to better understand all of the improvements made by MooTools from the 1.11 version.
From this perspective the book, which aims primarily to beginner MooTools developers, may also be a good reference for users of previous versions willing to update their scripts.
That said, the book doesn’t cover all of the methods offered by the library, but is intended by the authors as a step by step introduction to MooTools development and gives a solid knowledge of its undergoing philosophy.
The approach is strongly examples-oriented to better and clearly show how the library works and to give some starting point for developers willing to practice hands-on.
The Good Parts
The guide’s table of contents spans from the core $ function to the plugin’s usage and factoring, introducing the most relevant and commonly used part of the library. Writing is fluent and familiar keeping it easy while accurate.
First of all, I really appreciated the well done part about utility functions which are, in my opinion, one of the library’s key features since they make possible to save lot of repetitive coding: functions like $type, $each or the Browser object grant a cross-browser and risk free development with little effort.
The other aspect which is deeply covered is the Class construction pattern.
By using this pattern every novice developer is able to code JavaScript classes with syntax similar to other programming languages like PHP, thus filling the lack of real classes in JavaScript and avoiding global object pollution.
Also well documented is the animation chapter about FX classes, which still are the best choice for performance and browser rendering (FX has been the first part of the original library).
A full chapter at the end of the book is dedicated to plug-in development, featuring not only an explanation on how write a plug-in, but also teaching how to design a plug-in starting from existing scripts and reusability requirements.
This part has been an unexpected surprise, since few guides intended for technical audience teach code’s design process with design sheets and documentation guidelines.
Beyond Examples
As of its introduction, the guide is intended as a step by step process in learning the bases in MooTools development; anyway little effort is spent in explaining why using MooTools is not just a smarter way of coding, but also and above all a better approach to JavaScript.
Learning common scripting mistakes is the way to understand that using a library is not just cool and that libraries aren’t vital, but still an affordable toolkit for JS scripting.
Talking about library presentation, it’d be a good idea to explain more in details some DOM manipulation methods, since many developers are used to circumvent (often too roughly) document and CSS limits by cutting and remixing elements with JavaScript.
MooTools has a big list of such methods which often are a better choice than native JS both for performance and browsers’ support.
Conclusions
As a whole, MooTools 1.2 Beginners Guide gives a clear and solid basic knowledge of how the library works, making it possible for a novice developer to dive into the official documentation without feeling lost.
Even if some background thoughts about its development patterns would be appreciated, I’d definitely suggest the book to MooTools beginners (but not to JavaScript beginners for the mentioned reason).
Moreover it’s a quick reference for commonly used methods and classes, therefore a book to keep on your desk.
You may check the publisher website to get the complete table of contents and read a sample chapter or just jump to the book main page here.

Thanks for the awesome review Marco! I just read your post on Smashing Magazine today, on Joomla! and WordPress. I liked it, so I decided to check out your site.
Funny coincidence that your most recent post is a review of the book I wrote!
I’m glad you noticed that I placed a high emphasis on the Class construction pattern because it was one of the major things I saw about MooTools tutorials on the Web: not using Class. Class sets MooTools apart and after being in that Class/OOP mindset when developing JS scripts, it’s hard to switch it off and think in any other way. It has a higher learning curve, but once you grok it, it makes web development 10 times more efficient, easier, and makes scripts highly reusable, interoperable, and maintainable.
You’re 100% right about the book not intended for being a reference book. It’s meant to teach beginners how to use MooTools by way of examples. Covering every method, function, class (and then covering MooTools More plugins), would make for a hefty book that not many would be able to sit through and read cover to cover. That’s also why I referenced MooTools docs in the beginning.
Keep up the great work and thank you for the review of my book.