About the Book

The arrival of the iPhone changed everything. Or, at the very least, it changed the whole direction of software development for mobile platforms. Which is a pretty big thing. It spawned an entire generation of copycat devices and shook an entire multi-billion dollar industry to its knees. Despite this it still fits in your pocket.

Who should read this book?

This book gives a rapid introduction to programming for the iPhone and iPod touch for those with some programming experience. If you are developing on the Mac for the first time, drawn to the platform because of the iPhone, or an experienced Mac programmer making the transition to the iPhone, this book is for you.

What should you already know?

The book assumes some knowledge of C, or least passing knowledge of a related language. Additionally, while I do give a crash course, some familiarity with object orientated programming concepts would be helpful.


What will you learn?

The book guides you through developing your first application for the iPhone, from opening Xcode for the first time, to submitting your application to the App Store. You'll learn about Objective-C and the core frameworks needed to develop for the iPhone by writing applications that use them, giving you a basic framework for building your own applications independently.

Cover of Learning iPhone Programming


Why write native applications?

With the introduction of the native SDK, there were a number of people that argued that it was actually a step backwards for developers. They felt that a Web-based application was good enough.

The obvious reason to use the native SDK is to do things that can't be done on the web. The first generation of augmented reality applications is a case in point, these by needed close integration with the iPhone's onboard sensors (GPS, Digital Compass, and Camera) and wouldn't have been possible without that access.

Of course the big advantage, even with today's crowded App Store, is exposure. If nobody can find your application, nobody can pay for it, and the web is a big place. One big advantage a native application has over a web application is that it's easier for potential users to find, and much easier to pay for when they find it. People don't impulse-subscribe to a web service; they impulse-buy from the App Store.


"Learning iPhone Programming" is published by O'Reilly Media.