So I've always wanted to try to jump into the iPhone (and now iPad) developing bandwagon. I was wondering if the community could just help me get started. I have plenty of coding experience in C++ and Objective C, though mainly with controlling robots and manipulating real objects. In all of these experiences, I was given an API with objects that represented real objects with various functions to control the object (motor drivers, pneumatics, etc.). I have looked up extensively on basically how the iPhone and Mac OS X works in general in terms of application development, such as the MVC development style and have gone through a few books of creating interfaces in Xcode and such. However, I am still very confused. One of the main reasons, I believe, is that I don't really understand how OS X is organized. For example, I have a great idea about a 2D game that I would like to make. However, when looking up iPhone OS frameworks, I really don't understand which framework of the 6 types to use. When I try to look into each one, they all seem to overlap in some way or another. The Core Animation framework animates things, but exactly what can it animate? Quartz 2D draws paths and shades images on the screen? But doesn't UIKit or Core Graphics do something similar? I'm aware that there must be some sort of organization but I really can't find a site or a tutorial that clearly explained what the frameworks are and how to know which one to use. Making an application is much different from my robotics experience because it was easy to understand that the Jaguar class controlled the Jaguar motor drivers. Now, there's no dedicated "graphics" framework that allows me to manipulate graphics. Could someone explain to me how the graphics situation works on the iPhone and how to determine what you need to use?