Author: Paul Deitel, Harvey Deitel, Abbey Deitel & Eric Kern
The subtitle of this book is "An App-Driven Approach" and it is. In this case the usually over-dry approach of the Deitel team of authors seems to pay off. It is probably because the subject is small enough to be covered in a size of book that doesn't exhaust the reader by trying to be complete.
Publisher: Prentice Hall, 2009
Aimed at: Programmers new to the iPhone
Pros: Lots of well explained code
Cons: Not suitable for complete beginners
Reviewed by: Ian Elliot
The book starts off with the usual introduction to the iPhone and iPhone development and a fairly comprehensive look at the business aspects of the iPhone App Store. This is a welcome addition as most iPhone programmers considering the market at this late stage are looking to make a profit.
From this point on the book is entirely project driven. Chapter Three starts off with a "Hello World" type application but one that already makes use of specific iPhone abilities - i.e. graphics. From here we progress through a range of simple applications - Spot-on-game, Route Tracker, Tip calculator, Cannon Game, Slideshow, Twitter search, Painter, Voice Recorder, Flag quiz, address book and Twitter discount airfares.
The example applications are "fairly real" in that you could imagine pushing them a bit further and ending up with something that you could submit to the iPhone store. They are well introduced with good motivation - you really do generally have an idea of what is being attempted before moving on to the details. There are also good explanations of the technologies about to be incorporated into the applications. Then the main development of the application is explained. This inevitably involves some fairly long listings but these are broken down into manageable chunks and highlighting is used to draw your attention to the important parts.
If you expect to get much from the examples you really need already to code in a C-style language with some idea of what object-oriented methods are all about. The book isn't really an introduction to programming or object oriented programming - and this is entirely reasonable. The ideal reader would know about these things but need an introduction to the iPhone's SDK and the development environment.
Although you can download the code and run the examples it is a good idea to type them in yourself and debug the mistakes you make as you go. There are also some additional programs and resources on the associated website.
If you already program and want a hands-on, example-based approach to learning about iPhone development then this is a good place to start. It doesn't have gimmicks but it does have well-explained code.