Book review: Head First iPhone Development

Head First iPhone Development
Dan Pilone & Tracey Pilone

In a previous blogentry I wrote about some great online resources I found to get started with iPhone development. I read the C and Objective-C introductions, watched the first 12 or so episodes of the Stanford courses and did the assignments that went along with it. Well, at least I tried to do all the assignments, but they were not easy with just the information from the taped lectures. There is a ton of information in them, but are kind of boring to watch, and you don’t learn that well from slides.

So, I thought it would be better to buy a book for iPhone beginners, where they start from zero and take you through building actual applications with good background information. I just went to the bookstore without reading any reviews about iPhone development books, and bought the “Head First iPhone Development” one. Just a lucky guess that it would be a good read.

And a good read it was! The writing style is funny, easy to follow and you can really read this like a book. You start at page 1, and about 540 pages later you are done. Lots of graphics, screenshots and sample code also are great plusses. I actually liked the “interviews” with some core frameworks best. Sure, it’s a bit silly to do an interview with, say, a Managed Object controller, but it worked for me to understand how they work and why they work the way they do.

“Head First iPhone Development” covers the iPhone SDK 3.1 which is pretty much up to date. Of course, iPad development is not discussed since that was introduced with the 3.2 version of the SDK, but I didn’t mind about that. Basics first, right? And speaking about basics: while the authors suggest that anyone with some kind of Object-Oriented programming background can just pick it up, I was really glad that I read the C and Objective-C introductions before reading this book. You will need to know the syntax and terms of the language beforehand, because the writers go over this with just a few sentences. I think that starting with the book without this (small) prior knowledge would be pretty hard.

So luckily, with the Objective-C basics and some Stanford lectures behind me, getting started with the book was easy. It teaches you the tools you will need to use (xcode, interface builder, the debugger), how views, tables, navigation- and tabbar controllers work, and you get the build 2 basic applications. And here again I use the word basic, because that is the only problem of the book: it never delves deep into more advanced topics.

Topics that are discussed:

  • Views
  • Navigation controllers
  • Tabbar controllers
  • Databases (plists and some very simple Core Data stuff)
  • Table view controllers
  • The tools (xcode, interface builder, the debugger)
  • MapKit and annotations
  • Using the photo camera

And that’s about it. Don’t get me wrong, it is a really good book for learning all this standard stuff that you really need to know, but it left me wanting for so much more. To name a few topics: pulling information from the web, using multiple threads, how to effectively use the Instruments tools to measure memory usage, how to display audio or video, how to use contacts.. I could name much more that I am now craving for, but you get the idea.

In the end, this book was definitely worth its money and taught me a lot in a tempo I could easily follow. With the standards now understood, I am ready for a new book. One that goes into advanced topics, but with the same writing style of this book. It would be great if the authors actually give tips on what to read next, but alas, I will need to figure this out without their help. Suggestions are welcome!