Core Animation: Simplified Animation Techniques for Mac and iPhone Development

Category: Operating Systems
Author: Marcus Zarra, Matt Long
All Stack Overflow 8
This Year Stack Overflow 3
This Month Stack Overflow 1


by anonymous   2017-08-20

By Quartz, you probably mean Core Animation. Quartz is simply the Mac / iPhone 2-D drawing API, where Core Animation handles animation of views and layers.

It is very difficult to use OpenGL for performing custom animations on views, but Core Animation is designed for this purpose. It has been my recommendation to people that if they are thinking about doing 2-D animations, even in games, they should look at Core Animation first and go to OpenGL ES only if Core Animation's performance is unacceptable. Core Animation lets you do a lot with just a little code, and there are now plenty of great references out there on the topic (such as Marcus Zarra and Matt Long's new book).

You may wish to refer to some of these other questions for more:

  • iPhone board game: OpenGL ES or CoreGraphics?
  • Core Animation or OpenGL for simple iPhone game
  • Quartz 2D vs OpenGL ES Learning Curve
by anonymous   2017-08-20

When it comes to Core Animation and UIView animations, you might want to look at Marcus Zarra and Matt Long's new book Core Animation: Simplified Animation Techniques for Mac and iPhone Development. It provides a very thorough walkthrough of Core Animation, from the high level UIView animations to more complex animations involving CALayers and CAAnimations. Bill Dudney also has an excellent Core Animation book.

As far as official documentation, the Core Animation Programming Guide is also well-written.

There are many questions here on Core Animation, tagged with core-animation.

Matt Gallagher has an interesting series of articles entitled "An Asteroids-style game in Core Animation".

Finally, I teach a course on iPhone development, in which I devoted a class to Core Animation and the neat things you can do in it. The course notes are available for download (VoodooPad format), and have quite a bit of detail in them, in addition to links to other resources and sample applications.

by anonymous   2017-08-20

Core Graphics

For this, I'd first recommend reading the Quartz 2D Programming Guide. It's the best set of documentation you'll find out there on the subject. Next, I'd read through some of the questions here tagged core-graphics, quartz-2d, or quartz-graphics. There are some great source code examples in the answers to those questions.


There are many "getting started with OpenGL ES" questions here, with links to many resources. These include:

  • Books on OpenGL ES targeted towards the iPhone
  • Learning OpenGL ES 1.x
  • What do I have to learn to get done with a 3D racing game for the iPhone? What Tools do I need?
  • Want to display a 3D model on the iPhone: how to get started?

I personally recommend the book "Mobile 3D Graphics: with OpenGL ES and M3G", as well as the "OpenGL ES Programming Guide for iPhone OS". My application Molecules is open source and it uses OpenGL ES. Finally, Jeff LaMarche has a great tutorial series on OpenGL ES.

Core Animation

By Quartz Core, you probably mean Core Animation. Again, I'd start with Apple's Core Animation Programming Guide, then take a look at the code examples you can find here under the various core-animation tagged questions. Beyond that, Bill Dudney's Core Animation for Mac OS X and the iPhone book is a very good introduction, and Marcus Zarra and Matt Long's Core Animation book looks to go into more detail on the subject.

by anonymous   2017-08-20

Here are a couple good and free resources:

  • WWDC 2012 Videos - In particular: "Advances in OpenGL and OpenGL ES" and "OpenGL ES Tools and Techniques"
  • Core Animation - Simplified Animation Techniques for Mac and iPhone Development - Book on Core Animation and Quartz 2D
  • iPhone 3D Programming - Book on OpenGL
  • OpenGL ES Programming Guide for iOS - Thorough Apple documentation on OpenGL and it's integration with iOS
  • All About OpenGL 2.x - Three part series (beginner, intermediate, advanced), so very thorough
  • Quartz 2D Programming Guide - Apple's own documentation on Quartz
  • 18 OpenGL ES Resources That You Must Know! - Good collection with not only OpenGL resources but also mathematics for 3D graphics
  • The Categorized OpenGL ES Tutorial Collection - Collection of over 50 tutorials and guides
  • OpenGL ES from the Ground Up - Great beginner tutorial
  • - A great site with a great community and many resources

Those are couple good books and videos. Also make sure to check out Ray Wenderlich's site; it contain's many good, complete tutorials for beginners. Hope this helps!

by anonymous   2017-08-20

In addition to the books suggested by Alex and nevan (of which I'd recommend Marcus Zarra and Matt Long's newer Core Animation book, given its greater quantity of iPhone coverage), I taught a class on iPhone Core Animation recently. The video for that class can found on iTunes U. My class notes, with detailed coverage of Core Animation, can be downloaded here (in VoodooPad format).

I also gave a presentation on Core Animation at the recent iPadDevCamp in Chicago, for which the slides and sample code can be found here.