Core Animation Book Review
One key differentiating technology that Apple created to give their platform's software applications a graphical edge is Core Animation. This powerful library distills what once required a vast knowledge of OpenGL calls into a simple yet flexible framework. Still, leveraging this framework took plenty of time and experimentation… until now. Authors Marcu Zarra and Matt Long have written a tour guide of sorts to lead readers on a journey to learning how to leverage what Core Animation has to offer. Read on for my review.Core Animation effects are what give the latest Mac desktops and the iPhone their graphic flourishes, from the water ripple effect of dropping a Dashboard widget on the desktop to the iPhone's slick window transition effects. Prior to this book, my exposure to Core Animation was whatever code snippets I could Google for, paste them into my projects and tinker until the desired graphic effect was achieved. I didn't spend much time on the inner workings since I was often just trying to replicate a proven user interface effect. However, after reading this book, I am more confident in what those pasted lines of code are doing and how I can easily further manipulate their parameters to generate more appealing graphic displays with a minimal amount of effort.
The book is split into 4 parts: Getting Started with Core Animation, Core Animation Fundamentals, Core Animation Layers and Advanced Core Animation. A total of 13 chapters span these sections covering the basics (including very useful walkthroughs of prepping Xcode Mac desktop and iPhone core animation-specific projects), breaking down the various layers (filters, QuickTime, OpenGL, Quartz Composer, etc.) and finally on to advanced topics on user interaction and performance. The final chapter concludes with a walkthrough of constructing a Core Animation example application for the iPhone OS, demonstrating the functionality Apple stripped from the desktop version in order to address the CPU and graphics processor limitations that a lower powered mobile platform is constrained by.
The writing is in the brief style of cumulative blog posts, with each section building on the prior sections. This makes sense, given the authors successful blog (at least among Cocoa developers), Cocoa Is My Girlfriend. Indeed, the blog shares several of the book's ideas available in the site's Core Animation category, such as reproducing the shimmering Dashboard Effect and developing animations with the assistance of the Quartz Composer. Apple developers considering this book should evaluate these entries as they provide a good sample of how the book reads. Rather than being a comprehensive guide on the topic, Core Animation is predominantly a collection of tips and examples that take the mystery out of using CA. As such, most of the examples are terse, one-shot affairs without exhaustive explanations. While I'm pleased that the authors saved a couple trees by not adding unnecessary filler text, there were times (especially in the second part of the book) that additional explanation and code samples would have helped to further cement the basic concepts. I had to monkey with several parameters in the book's code (available for download from the book's website) to get these methods to sink in. Even so, it's understandable to see why the authors are so enthusiastic about this subject given how easy it is to accomplish expressive OpenGL animations in just a few simple lines of code.
Overall, Core Animation accomplishes its objective of engaging readers and imbuing them with the confidence to incorporate smooth, attractive animations into their own Mac and iPhone applications. While the book is by no means an exhaustive text on the subject, it motivates readers enough to take advantage of what Core Animation has to offer. A definitive guide to Core Animation has yet to be written.
Title: Core Animation: Simplified Animation Techniques for Mac and iPhone Development Authors: Marcu Zarra and Matt Long Publisher: Addison-Wesley ISBN: 978-0-321-61775-0 Pages: 264 Price: $44.99 US