Review of “iOS 6 Programming Cookbook„ by Vandad Nahavandipoor, O'Reilly Media

Sunday, March 31, 2013

I review for the O'Reilly Blogger Review Program

While the ‘cookbook’ genre of technical books may seem increasingly outdated in a world with Google and Stack Overflow, it’s still nice to consult a discrete resource where you know someone put time into presenting a range of topics about a given subject in a logical manner. The iOS 6 Programming Cookbook by Vandad Nahavandipoor is a good example of this philosophy in action.

Given the size of the iOS SDK, it’s impossible to provide examples that cover every situation. Nahavandipoor does a good job in deciding what ‘problems’ the cookbook examples should cover: The focus of the sample code is on getting people started with a particular framework or concept. While the examples are presented in isolation from the greater whole of a real-world app, just seeing a particular method in action is useful when one is just starting to learn a concept. This approach helped me in the case of an Auto Layout method; just being able to see example code used properly helped address some misunderstandings I had about the parameters expected by that method. As far as my own needs, I found the chapters on Auto Layout and Networking to be the most useful for providing a good overview on how to proceed with using these frameworks in my own app.

As useful as the book is, the language can be a bit awkward at times (keeping track of copy for a 900+ page book is no doubt a daunting task). The description of MVC seemed a bit odd (“think of a model as a virtual copy of your application, without a face”), but then again, conveying the essence of MVC is tangential to the purpose of book. Still, there are places where the author could be more succinct, or added some sentences or phrases that seemed to break with the character of a cookbook-style text. For the most part these are minor stylistic criticisms, but the example code is also affected from time to time (an early example project has the reader edit the interface for a class named Creating_and_Using_Switches_with_UISwitchViewController). This verbosity could distract newer developers from the real information being conveyed.

Criticisms aside, I did find many parts of the book useful for familiarizing myself with various areas of the iOS SDK. Cookbooks like these certainly still have their place as a first-stop reference.

Note: I received this book for free through the O'Reilly Blogger Review Program