Essential ActionScript 3.0 Book Review

As I mentioned recently, I took the plunge into Flash. Flash is one of those things that has been on my radar for quite some time, but I simply hadn’t taken the time to research quite yet. A number of things lead to my decision to dive into Flash, but I can attribute most of my desire to ActionScript 3.0.

Essential ActionScript 3.0 Sucks Book Cover

Until recently, my experience in Flash was completely timeline-based. Motion tweens and other basic animation were the extent of my Flash knowledge. The little bit I did know sparked absolutely no further interest in the technology of mine simply because I didn’t enjoy the work. Working in and around the timeline wasn’t fun for me, so I never had any real want to learn anything more about it.

As I heard more and more about AS3, however, I began to find myself increasingly interested. I would consistently hear that AS3 was ground breaking; the most substantial upgrade to Flash’s programming language ever. “ActionScript 3.0 is a huge upgrade to Flash’s programming language. The enhancements to ActionScript’s performance, feature set, ease of use, cleanliness, and sophistication are considerable. Essential ActionScript 3.0 focuses on the core language and object oriented programming, along with the Flash Player API.”

Circumstances evolved around my office and it turned out I could busy myself with some smaller Flash projects here and there. So I picked up Essential ActionScript 3.0 by Colin Moock and started researching. The book is impressive from the start, weighing in at nearly 1000 pages, it’s aimed at both the AS3 novice as well as the experienced AS2 developer.

Part I. ActionScript from the Ground Up

The first part of the book provides extensive coverage of the ActionScript Core. Readers who are new to programming will discover object oriented programming as well as many terms and techniques used in software development. The first chapter alone covers a number of topics such as classes, constructor methods, objects, variables, parameters, expressions, instance methods, members, and properties to name quite a few.

In the first chapter you’ll also be walked through the early stages of a book project which will act as a recurring example to build upon as you read through the book. I’m a huge fan of this process as it bridges the gap between what you’ve read so far and what you’re just reading presently. It helps to make the learning process much more cohesive.

The next few chapters continue to cover more about ActionScript. Moock guides readers through conditionals & loops, functions, inheritance, compilation, datatypes, arrays and more. Not only is the knowledge gained in these early chapters valuable for writing ActionScript, it’s reusable should you ever want to pick up additional programming languages; the concepts and ideas are very well explained.

Continuing with Part I, Moock begins to cover ActionScript in more detail. Events and event handling, error handling, garbage collection, scope, and namespaces are some of the subjects covered in the later chapters of Part I, all written regarding the book project being built as you read. First time programmers may need to read Part I a second or third time to best prepare for the rest of this book, as much of the information is covered that will set the stage for later reading.

Part II. Display and Interactivity

The second part of this book applies what was taught in Part I to rendering content on screen and responding to user input. Beginning with an overview of the display API, Moock walks you through the first steps of rendering content on the stage (within a Flash document).

From there you’re guided into an interactivity portion. Interactivity is a huge part of writing ActionScript, and there is much to learn about events and event handling. As I read through this portion of the book I was comforted by the similarities between AS3 and JavaScript. I had always heard that the two were similar (given their roots in ECMAScript) but it was nice to see how close they really were.

Later in Part II the coverage moves to programmatic animation and drawing with vectors. To close things out, this part of the book finishes with text display & input and loading external assets for display. Part II is extremely helpful in taking the mystery out of wondering how a Flash document is pieced together and where you would begin when first developing a Flash piece.

Part III: Applied ActionScript Topics

The final part of Essential ActionScript 3.0 focuses on production issues. Chapter 29, for example, covers ActionScript and the Flash Authoring Tool. This chapter discusses specifically the Flash IDE and the various interface elements you’ll interact with. You’re instructed on how to apply the knowledge you’ve gained to the Flash environment itself by working with your document class, symbols, instances, and more.

The last chapters of the book cover working with Flex Builder as opposed to the Flash IDE and walks you through building a basic MXML application. The final topic covered is class distribution, guiding you through the process of making classes you’ve written easily available to other developers for use.

Overall thoughts

As my first exposure to ActionScript 3, I thought Essential ActionScript 3.0 by Colin Moock is a great resource. I feel confident that it was a great first step for me to take in teaching myself how to write AS3, and I hope to find the time and opportunity to put my knowledge to the test over the next few months. I continue to hear how much more sophisticated AS3 is in comparison to AS2 and I can’t help but be thankful for that. As I said, my only prior experience with Flash was simple timeline animations using absolutely no ActionScript whatsoever, so I don’t have much to compare to. What I can say, though, is that I’m very intrigued with Flash/AS3 and I’ll continue to dabble as time goes on.

The book is not small by any account. At nearly 1000 pages it will definitely require some dedicated time for reading, but that time is well spent. If you’re an experienced programmer, the first part of the book should fly by quite quickly, but will act as a solid review in preparation for the AS3-specific content.

I must admit, I went into this book expecting to learn more about the Flash IDE. That is to say I was curious about the drawing tools offered, Flash components, the Library, etc. You won’t learn very much about the IDE in that regard at all; this book remains focused on the topic at hand: ActionScript 3.0. After reading the book, however, exploration of the IDE itself (and Google) lends a helping hand in discovering more about those items.

That said, if you’re simply looking to add a bit of animation to a small element of your current design, I wouldn’t recommend this book. This book is aimed at those who are looking to learn the ins and outs of AS3, and become proficient at not only writing quick animations for small Flash elements, but also full-fledged Flash applications as well. Moock is a great teacher, and learning AS3 from him by way of Essential ActionScript 3.0 is a very safe bet. If you’re looking to learn AS3 and are dedicated to doing so, start with this book.