Core Animation es un API de visualización de datos usado por Mac OS X Leopard y el iPhone OS para producir una interfaz de usuario animada.[1]
Core Animation proporciona una vía para que los desarrolladores pueden producir interfaces de usuario animadas a través de un modelo de animación implícita. El desarrollador especifica los estados inicial y final de un objeto, y Core Animation maneja la interpolación. Esto permite que las interfaces de animación se creen con relativa facilidad, ya que ningún código específico debe ser introducido por el desarrollador.[2]
Core Animation puede animar cualquier elemento visual, y proporciona una forma unificada de acceso a Core Image, Core Video, y las demás tecnologías de Quartz. Al igual que el resto del modelo de gráficos, Core Animation puede utilizar aceleración gráfica.[1]
Las secuencias animadas se ejecutan en un subproceso independiente del bucle de ejecución principal, lo que permite el procesamiento de solicitudes se produzca, mientras que la animación está en curso. De esta manera, rendimiento de las aplicaciones no se ve afectada, y las animaciones se pueden parar, revertir, o reorientarse durante el proceso.[1]
La actualización de una aplicación existente basada en Cocoa para que utilice Core Animation es un proceso sencillo. Los widgets estándar y las ventanas de la interfaz gráfica utilizados por la aplicación necesitan ser registrado inicialmente en función de una configuración de Core Animation. Más allá de eso, el código básico de animación puede ser en gran medida separado de la lógica de interfaz gráfica de usuario estándar.