Every now and then, people ask me which books they should read after they had dug into Apple’s official material on the iPhone Dev Center. Whereas starters want a big picture (A) instead of losely stitched articles, more experienced programmers often approach the iPhone development from desktop computing and want to learn more about Objective-C (B) or the interface concepts of the iPhone (C). From different conversations about individual needs and recommendations I find myself mentioning a few favorites again and again.
Beginning iPhone Development
This book truly falls into category (A) and explains step by step how to start developing for the iPhone. Dave Mark and Jeff LaMarche not only discuss the concepts of the iPhone SDK. They describe essential little details of the tools you will face during your work such as the key strokes you have to know when using the Interface Builder. Some examples span across several chapters but the authors encourage you to branch out and try things on your own.
It’s still for the iOS 3.0 and doesn’t cover multi tasking nor the retina display or universal apps for iPhone and iPad. But once you have mastered this book, looking up those features on the Dev Center should be easy.
Cocoa Design Patterns
This book definitely is not for beginners, it belongs to category (B). Readers should have worked with Objective-C and other programming languages before to value this great book by Erik Buck and Donald Yacktman. Newcomers to the iPhone development can use this book to gain a deeper understanding of the APIs they will face. Some of the patterns of this book are rather common in other programming languages, others are more or less unique to Objective-C. Over time, you will adapt these patterns to improve the design of your own programs, too.
This book is a must-read for mobile app developers and you should definitely read it before you seriously think about the development of an iPhone app. Josh Clark shares his deep understanding of the mobile user. To make it clear: This is not a coding book! You will learn a lot about designing interfaces (C), guiding your users through your app and keep them using your app by fleshing out its core features. The colorfully illustrated book rounds out with interesting experience reports by the developers of the Facebook app, Twitterrific, Gowalla, Things, and the like.
Yes, there are a lot more exciting books covering iPhone development but these are my personal highlights of the aforementioned categories. Feel free to ask for more recommendations via twitter or in the comments. What are your own favorites?