Sunday, June 06, 2010

Learning iPhone Programming (Book Review)



Learning iPhone Programming
by Alasdair Allan
Paperback, 384 pages, $ 29.99
(ebook editions also available)
ISBN: 978-0-596-80643-9
Published by O'Reilly, March 2010

With two million iPads sold in the first two months, and a new generation of iPhones just announced on Monday, June 7 (2010), it is obvious that the iPad/iPod/iPhone app gold rush has just begun. Two varieties of programmers will emerge: the full-time professionals, and a larger group of part-timers who will program for the pure pleasure of the work. As an enthusiastic member of the second group, I have been looking for a unique book. Learning iPhone Programming is almost exactly what I had been looking for.

The book is comprehensive, but it is not too large. It covers not only the nuts and bolts of the programming, but everything you will need to know before and after you develop your apps. It begins with a solid answer to the question; Why write native applications? Chapter 2 (Becoming a Developer) teaches how to register as an iPhone developer, install Xcode, install the iPhone SDK, and generate and deploy the developer certificates. Here also you will find a handy list of the four essential Apple websites that every developer will use again and again.

Chapter 3 guides you in the creation of your first app for the iPhone and iPod touch. Although the book's back cover recommends that you should have C-language experience before reading, there is a good deal of help for the uninitiated, including a concise introduction to key programming terms for new programmers. For those of us who have programmed in one of the members of the C language family (I have worked with C++), the author explains how the iphone's Objective-C is similar and different.

The heart of the book, the chapters about app development, contain easy-to-follow code and explanations, along with a generous supply of screen shots. Other sections that interested me included one about reasons why your app may be rejected; another about Regular Expressions; an overview of the PhoneGap platform; and a whole chapter about distributing your application after it's done. The final chapter (Going Further) provides a summary of books and resources for extending your education about Cocoa and Objective-C, the iPhone SDK, web applications, core data, push notifications and more.

The great strength of Allan's book is that it gives you a clear view of the big picture about iPhone development, and fills in most of the essential details. I can hardly imagine a better book to begin the great adventure of developing extraordinary apps.


--Michael Pastore