Beginning iPhone Development: Exploring the iPhone SDK / Dave Mark & Jeff LaMarche : 3 of 5
Since I stare at code all day at work, usually the last thing I want to do during my free time is look at more code, but since I’m such an iPhone fan, of course I’m interested in how things work beneath the surface. Although I’ve only actually got my hands dirty with iPhone development for a few hours, I’ve been studying via various websites and the excellent Stanford University iPhone Development course via iTunes. I noticed several mentions of this book, so I figured it wouldn’t hurt to check it out. Since my office work has been a little light lately, I had some time to really read this book and walk through the code samples in my head, and I feel like I really learned quite a bit (which I will soon forget if I don’t do some development soon!). Each chapter does a nice job of explaining what you are going to learn and what kind of sample application you will be building (with plenty of screenshots), so you never have to go into any concept blind. All of the basic facets of development seem to be covered (at least to a novice like me), including more “exotic” things like using the iPhone’s camera and GPS capabilities. There’s a nice progression as the author begins by detailing every single step of using a tool like Interface Builder, and then later changes to quickly summarizing tasks you already know how to do. I really only have one complaint – in several cases the book takes great pains to walk through a task that in real life is something you will almost never do, thanks to the various Xcode application templates. I realize the importance of learning the foundation of things, but I think they could have found better methods than by demonstrating something that is essentially done for the developer by Xcode itself. Of course, this is the only iPhone book I’ve read (and it's already been revised for iPhone OS 3.0), but I’ve definitely read my share of programming books in general, so I can recommend it as an excellent beginner’s overview, which should provide enough information to help someone build tons of apps (if they aren’t lazy like me!).