So you want to become an iPad, iPhone, or Mac programmer? Excellent! It can be a lot of fun and a valuable skill in today’s market. We have a number of books and screencasts to help you, whether you’re new to the platform or an experienced developer.
NEW!
Ready to tackle the new iPad? If you know the iPhone, we’ve got the first and best book on programming the iPad that concentrates on this new devices’ unique capabilities. See
iPad Programming for details.
What You Need
When you’re just starting out, you’re faced with learning a bunch of new things: Xcode, Interface Builder, the Objective-C programming language, the Cocoa libraries, and the iPhone or iPad SDK.
Below you’ll find a roadmap of our iPad, iPhone, and Mac resources. You can use it to figure out where you should start and when you are ready for the next level.
Beginnings |
|
Foundations |
|
Essentials |
|
Capabilities |
|
 |
|
 |
|
 |
|
If you are:
New to Programming
|
Writing an iPad, iPhone, or Mac OS X application is an exercise in programming. Most of the books and screencasts assume that you have a programming background in a “curly brace” programming language (C, C++, C#, Java, Ruby, etc.) and that you’re familiar with object-oriented programming in general. If you’re new to programming, start with this book:
Introduces you to Objective-C and the Cocoa framework in clear, easy-to-understand lessons, and demonstrates how you can use them together to write for the Mac, as well as the iPhone and iPod.
|
What you need next: Objective-C
New to Objective-C or Object-Oriented Programming
|
iPhone and Mac OS X applications are written in the Objective-C programming language. It’s an object-oriented language. If you have a programming background, but you’re new to the Objective-C language or object-oriented programming in general, start with the Coding in Objective-C screencasts:
These screencasts will quickly walk you through all the major features of the Objective-C language and the core concepts of object-oriented programming.
|
What you need next: Xcode, Cocoa
New to the Xcode IDE
|
Xcode is the IDE used for Mac OS X programming. There’s a lot you can do with Xcode, and it’s easy to get distracted by all the knobs and levers. If you’re seeing Xcode for the first time, or wish you were more productive in Xcode, check out the Becoming Productive in Xcode screencasts:
By learning how to use Xcode in a truly productive way, you’ll spend less time being frustrated and have more time to focus on your application.
|
What you need next: Cocoa
New to Cocoa
|
Cocoa is a set of Objective-C frameworks (libraries) for developing Mac, iPad, and iPhone applications. If you’re feeling comfortable with Objective-C, but you’re new to Cocoa, start with the Cocoa Programming book:
This will give you a better understanding of Cocoa fundamentals and Interface Builder, which are equally applicable to iPhone programming.
|
What you need next: iPhone SDK, iPad programming
Getting started with the iPhone
|
Once you’re comfortable with Objective-C, Cocoa fundamentals, and the toolset, then you’re ready to step up to iPhone development. Start by watching the free Getting Started with Xcode and Interface Builder screencast episode, downloadable from this page:
It walks you through how write a simple iPhone application using Xcode and Interface Builder. You’ll see familiar Objective-C and Cocoa code along the way. You’ll also get an overview of what iPhone development is all about.
|
| |
|
If you’re feeling confident about what you’re seeing in the free iPhone screencast episode, then you’re ready for the iPhone SDK Development book:
And check out the rest of the Writing Your First iPhone Application screencasts as a companion to the book as well.
|
What you need next: iPad programming, Core Animation, Core Data
Moving from the iPhone to the iPad
|
If you’re experienced at the basics of iPhone programming, you need to know what’s different in the iPad—and there’s a lot new to learn here.
iPad Programming shows you how to write iPad apps right away using a combination of the familiar iPhone APIs along with the new APIs and additional templates designed specifically for creating iPad applications.
|
Ready for More Advanced Topics: Core Animation and Core Data
|
Core Animation adds that “wow!” factor to your Cocoa and iPhone applications. It’s not just cool, it also improves the user experience to make your application a cut above the rest. Core Animation is a fairly advanced topic. You’ll need a good foundation of Cocoa to get the most out of it. The book and screencasts compliment each other well:
|
|
Core Data is an API for persisting data in Mac applications. It’s also a fairly advanced topic. The book takes you from beginning with Core Data through to expert level configurations that you will not find anywhere else.
|
Using Ruby Instead of Objective-C
|
Of course, you don’t need to use Objective-C to write your Cocoa applications for Mac OS X (desktop only; not for iPad or iPhone). Our Ruby Cocoa book introduces Rubyists to writing first class Cocoa applications in their favorite language.
|