Essential Actionscript 2

Many Flash developers will already be aware that Colin Moock is the man behind the de facto book for Flash: “Actionscript: The Definitive Guide” (and its updated counterpart for Flash MX).

The first thing to note is that Essential Actionscript 2.0 is not an updated ASDG for MX2004 - it is intended to be used alongside ASDG and not in place of it. The main reason being that relatively little has changed syntactically between Actionscript 1 and Actionscript 2. AS2 is essentially a wrapper for AS1 with a more formal object oriented syntax. The challenge with AS2 is not so much about learning the new syntax as learning how to use it in order to design robust, extensible applications.

Essential Actionscript 2.0 is not intended as a book for Flash beginners (anyone new to Flash should consider purchasing the still relevant and truly excellent "MX Definitive Guide"). EAS2.0 assumes a familiarity with the Flash authoring environment, and a degree of prior programming knowledge (functions, loops, variables, scope etc).

The book is aimed at those who are familiar with AS1 and want to progress, as well as those who are migrating to Flash from a more traditional OO background (such as Java or C++) and want to leverage prior experience.

Fans of ASDG will be glad to hear that there are many stylistic similarities between EAS2.0 and ASDG. Colin maintains his easy going conversational approach throughout, and tackles potentially confusing topics with relative ease, peppering the conversation with clear examples and handy key points. It was this conversational style combined with his depth of explanation, which helped make the Definitive Guide become the de facto book for Flash in the first place, and Essential Actionscript 2.0 is unlikely to disappoint in that area.

EAS2.0 is split in to three sections. The first section accounts for the bulk of the book (covering the first 280/500 pages) and it teaches fundamental object oriented concepts, syntax and usage. It helps the reader to understand when OOD (Object Oriented Design) is the right choice for a particular project.

There’s no escaping the fact that there is a lot to take on board in this section, and the subject matter (for any book attempting to cover the principles of OOP) can make for dry reading at times. This will especially ring true for the many self-taught Flash developers who were introduced to programming via Actionscript 1 and do not have any formal training or prior experience of other ‘proper’ programming languages, yet EAS2.0 does a sterling job of conveying the necessary information to the reader. Colin avoids overly verbose explanations - especially in areas where being too technically precise would overly complicate the explanation, and as already mentioned there are examples aplenty, all well commented and explained in the subsequent text.

This is not to say that the less experienced can expect to breeze through the first section and take it all in upon first read, and of course nor would you if you were learning about OOP from scratch with any other book, but given time to become familiar with each chapter’s new terminology a quick re-read should clear things up nicely.

The second section teaches the reader how to structure basic OO applications, use MovieClip subclasses and exchange code with other developers. The CurrencyConverter example is a good introduction to using Classes with components, and it is in this section that you will start to get a real taste for OOP.

Finally the third part of the book concentrates more on general OOD theory, introducing the user to some of the more common Design Patterns (“proven programming strategies for common situations”). Patterns covered include Observer, Singleton, Model-View-Controller and Delegation. This section will really put what you’ve learned to the test, and you get to see many of the concepts you’ve been reading about formalised, as you combine design patterns in order to build applications.


Conclusion

As a self-taught developer I certainly found myself having to ‘un-learn’ a lot of the misconceptions I had about the way Flash works. This exemplifies just how much effort has been put in to this book. It is extremely hard for an experienced developer like Moock to impart such a wealth of information without either making too many assumptions about reader-knowledge, or going in to far too much depth and making the text too wordy, yet I thought that difficult balancing act was managed perfectly.

Essential Actionscript 2.0 undoubtedly serves its purpose as a springboard in to the world of Object Oriented Programming and has been well worth the wait. Any developer serious about learning OOP in Flash should consider adding "Essential Actionscript 2.0" to their collection without further ado.

Neil Webb (nwebb.co.uk)