View Review Details


Book:   Essential ActionScript 3.0
Subject:   One True Source for ActionScript 3.0
Date:   2007-07-22 10:27:47
From:   David Heinecke
Rating:  StarStarStarStarStar

I’m a software engineer but a relative newcomer to programming with Flex 2 and ActionScript 3. I have been waiting for the definitive book on Actionscript 3 programming, as a companion to my copy of Programming Flex 2. Until now, I have made due with the online documentation and web searches for what I needed to know, but Essential ActionScript 3.0 has arrived and fits the bill nicely.


The author, Colin Mook, knows a thing or two about ActionScript programming and has obviously followed the evolution of the language from version 2 to version 3. The book has been reviewed by many engineers and architects at Adobe to ensure that, at the time of printing, the information presented is correct and up-to-date. It is also nice to know that the book is backed up by Oreilly’s Safari service for staying current, even though I tend to go to the online documentation to get my updates.


So how does the book stack up? At over 900 pages, it definitely passes the lift test. The book is divided into three main sections; ActionScript from the ground up, Display and Interactivity, and Applied ActionScript Topics. I spent a pretty good amount of time reading through the first section both to get a good sense of Colins’ writing style and because it was a very enjoyable read. The book does not assume that the reader has any prior programming experience, although any prior experience with object-oriented programming would be beneficial. The author starts out gently by explaining what objects are and how they are used in ActionScript. From there he guides the reader through the intricacies of object-oriented programming in ActionScript 3. Each chapter is devoted to a single topic and there is a running example of building a Virtual Zoo to help explain and illustrate the principles of each chapter.


When you get to part two (which is roughly a third of the book), you have a good understanding of ActionScript and, if you’ve been doing the examples, have some experience writing and running some fairly involved programs. The chapters of the second part then go into all the gory details of graphical programming with ActionScript. For many, this is where things get exciting as the author runs the reader through how to set up the Stage, create graphical objects, draw lines and blit bitmaps. Compared with the first part of the book, this section definitely has more “information density” and contains code samples that you will probably come back to a couple of times before you fully understand what is happening.


Part three of the book is a scant hundred pages long, and, to be honest, probably the least interesting part of the book. The chapter on ActionScript with Flash authoring is really only relevant if you are using the Flash Authoring tool. There is a token chapter showing a minimalistic MXML (Flex) program. There is also a chapter on distribution of your Class Libraries, which is probably the most useful chapter in this part of the book.


No book is perfect, and this book is no exception to that rule. There were a few small stylistic things that bothered me as I was reading. In the first part of the book, there are a few instances where the author forward references some keyword or concept to illustrate the current point. If you aren’t already familiar with that keyword, you have to jump to a later chapter to brush up before continuing. To the authors’ credit, he does tell you that when a topic hasn’t been covered yet and tells you which chapter to jump forward to if you want to know more about it before proceeding. Personally, this wasn’t a huge distraction because most topics were easy to figure out just from the context of the examples, but a reader without much programming experience might find himself jumping around a bit.


The part three chapters felt like they were just bolted on and didn’t really add very much to the book. Admittedly they might be of some value if you happen to be using the Flash Authoring tool or need some help with deployment of your libraries. I am mildly disappointed that there wasn’t a bigger chapter on Flex and MXML, but it is understandable given that Flex and MXML programming really are outside the realm of ActionScript programming.


I also found it sad that the quirky virtual zoo example was largely ignored during part two of the book. If anything, the virtual zoo would have made a great test bed for graphical programming topics. Fortunately there is an appendix that contains a complete code listing for the virtual zoo, including graphical elements, and the source code is downloadable from the author’s website.


I would definitely recommend this book if you are new to ActionScript programming and want “one true source” to get you started. In addition to being a gentle introduction to object-oriented programming, it nicely points out the ActionScript idioms and terminology. Although nothing will beat the online documentation for timeliness and correctness, Essential ActionScript 3 is a good place to start.


See larger cover
Browse within this book

"This book is so good and so needed for Flash CS3 and Flex Builder - Adobe should consider including a half-price discount voucher on the book when people register their products."
--Jacques Surveyer, The Open Sourcery