It’s been a while since we’ve done a book review, and it’s time to rectify that. In this installment I’ll be reviewing The Big Nerd Ranch’s Guide to iOS Programming (2nd Edition). The Big Nerd Ranch has created a series of books around Mac, iOS, and Objective-C programming. This book is the latest in that series.
First off, here’s our standard disclaimer: I did receive this book free of charge from the publisher for review purposes. A free book does not equal a good review. I will provide honest opinions even if that means I never receive another book again. Now that that’s out of the way, let’s dive in.
iOS Programming, The Big Nerd Rance Guide, 2nd Edition
by Joe Conway and Aaron Hillegass
Publisher: Pearson Education
Pub. Date: Jun 22, 2011
ISBN-13: 978-0-321-77377-7
Pages: 590
List Price: $49.99
Buy it on Amazon
The first question you’re going to ask is, “does it include iOS 5 stuff?” The answer is, unfortunately, no. The flip-side to this is that Apple has been extremely good about providing a consistent and backwards compatible API, which means this book is still nearly 100% relevant. iOS 5, while it does add functionality, is by no means required to create awesome applications.
Right off the bat I found that the book was organized, not badly, but oddly. The very first chapter walks the reader through creating an iOS application. I think a novice developer may be overwhelmed by this – especially since a lot of explanation is intentionally deferred to later chapters. I can’t fault the author too much for this, since it’s clearly stated the intended audience does not include new developers – some amount of programming experience is required.
If you have programming experience, however, you’ll most likely find the first few chapters tedious. The amount of explanations and the use of metaphors is much more tailored to a novice developer. Fortunately this ends quickly in the later chapters, where the code-to-words ratio increases to a much more comfortable level.
The author makes excellent and frequent use of diagrams. I particularly liked Figure 7.16 – “Lifecycle of a view controller” – which nicely chronicles how a view is created, displayed, and removed – evening including what happens on memory warnings.
One thing I want to make perfectly clear is that this book is exhaustive. I think the only thing not covered by this book is OpenGL-ES, but doing so would easily make the book twice as large. If you want to create an application, chances are this book covers every piece of Cocoa Touch you’re likely to use.
We don’t score books on a scale or letter grade, we like to indicate which group of developer would benefit the most from the book. That being said, this book fits squarely in the intermediate category. Someone new to programming will not be able to effectively use this book. As for seasoned developers, I found the shear amount of words made using the book as a reference not as easy as I’d like. It was difficult to flip to a topic and quickly extract usage or syntax. I think, however, that intermediate developers is exactly what the authors were going for, and I think they excelled greatly in that respect.
Beginners: Probably Not
This is a good book, so I’m not going to outright not recommend it for beginners, but it may be hard to follow.
Intermediate: Absolutely
If you’re a programmer entering iOS or have already dabbled, this book will be a great introductory resource.
Guru: Maybe
Even if you’ve been programming iOS for years, there’s still knowledge in the book worth having. You may not want to take the time to find it, though.
Other books in the Big Nerd Ranch Guide Library: