Core Animation provides a way for developers to produce animated user interfaces via an implicit animation model as well as an "explicit" model. The developer specifies the original and final states of an object, and Core Animation handles interpolation. This allows animated interfaces to be created with relative ease, as no specific code for the animation is required by the developer.
Core Animation can animate any visual element, and it provides a unified way of accessing Core Image, Core Video, and the other Quartz technologies. Like the rest of the graphics model, Core Animation can be accelerated by a graphics processor (GPU).
Animated sequences execute in a thread independent from the main run loop, allowing application processing to occur while the animation is in progress. In this way, application performance is not affected, and animations can be stopped, reversed, or retargeted while in progress.
Updating an existing Cocoa application to use Core Animation should be a simple process. The standard GUI widgets and windows used by the application need be initially registered into a Core Animation setup function. Beyond that, core animation code can be largely segregated from standard GUI logic.
Core Animation first appeared in Mac OS X v10.5, but actually first emerged from the iPhone software team. It was shown publicly for the first time on August 7, 2006 during WWDC 2006. At the Macworld Expo 2007, Apple announced that the iPhone runs a specially adapted version of OS X and uses Core Animation.
- "Apple – Developer – Leopard Technology Series for Developers – Leopard Developer Application Technologies Overview". Retrieved June 12, 2007.
- "Apple – Mac OS X Leopard – Technology – Core Animation". Retrieved October 30, 2007.
- Core Animation on Apple's developer site (Accessed 2010-02-13)
- Apple's Core Animation Programming Guide (Accessed 2010-02-13)