When I first got started with iPhone programming, I went through the helpful Beginning iPhone Development: Exploring the iPhone SDK by Dave Mark and Jeff LaMarche. It did a great job helping me get up to speed with the iPhone, so I thought I’d write a review to let others know a bit more about it!
The best thing about Beginning iPhone Development is how it’s entirely based around tutorials. Each chapter has one or more sample project and the book walks you step by step through the process of creating various apps. You’ll start out quite simply with a “Hello World” window, but before long you’ll be making apps with table views, you’ll be saving data to the disk and even using simple graphics and animations. Each tutorial is practical and is something you’ll likely find yourself needing to do later.
The tutorials are well structured and well written. When a project is large, it will often be broken down into bite size chunks so you can see things compiling and working as you go. This makes you feel like you’re constantly seeing progress and can see the project as it’s being built.
The best way to go through the book is to follow along with the tutorials yourself in XCode – that way you’ll have hands-on experience and by the time you’re finished you will be ready for your first project!
iPhone development has a huge number of topics to cover, so no single book can cover everything. Some books try, but end up skimming over topics without providing enough detail to actually understand and use. Beginning iPhone Development solves this problem by focusing on the most critical topics:
- Using common controls such as UIButton, UILabel, UISwitch, etc.
- Table views
- Navigation controllers, tab controllers, and manual view switching
- Handling touches
- Saving data to the disk
- Basic drawing and animation
- Core Location
- Taking and working with pictures
Beginning iPhone Development: Exploring the iPhone SDK covers just the right amount of detail on each topic so you can feel confident moving forward. Note that there many of the topics that the book doesn’t cover such as Core Data, network programming, or multithreading are covered in the sequel to the book that was recently released: “More iPhone Development.”
The book comes complete with source code and has active forums where you can ask questions to other developers or share what your creations.
There aren’t many downsides to Beginning iPhone Development: Exploring the iPhone SDK except that it is more tailored toward people who want to make utility or productivity type applications rather than people who want to make games. However, even if you are more interested in making games, this book provides a great foundation to work forward from.
Overall, Beginning iPhone Development: Exploring the iPhone SDK is one of the best programming books I’ve ever read, and should serve as an example to other authors for how to write good programming tutorials. I’d highly recommend this book toward anyone who is getting started with iPhone programming and prefers to learn via books.