This book gives an indepth solid knowledge of OpenGL ES. What this book lacks is a solid treatment of Objective-C hierarchy. You simply can't get away with not a solid treatment of how methods are inherited. Ok you override for instance layerClass but please do explain what is going on in the code when you initialize more concretely and explain one by one the methods and the messages passed to them going up in the hierarchy. Draw some nice boxes of Class inheritance and how you end up in displaying what you want to. Simply reproducing what you did in a program is not enough for a programmer who wants to build his own application without depending on the code provided. I have yet to come up with this book (theory and practice). Despite of this lack this book is still a nice introduction but needs accompanying books. Knowledge of Objective-C is crucial in order to understand what is going on no matter if you use it to just glue your application. Ok the book answers the question how in this aspect but not in a satisfactory degree the question why. If it did I would have put a 5 star.