Blog

Getting started on iPhone Development

iPhone development is really fun, but the learning curve is steep: Xcode, Objective-C, Cocoa, iPhone. Apple has tons of great information on their development center site, but it really amounts to a bit TOO MUCH! Here’s a sane way to get started.

What are they?
Xcode: Apple’s development environment. Very clean. Free.
Objective-C: The language. Cross between C and Smalltalk. Think of it as a late-binding alternative to C++.
Cocoa: The frameworks. Container classes, UI objects, etc.
iPhone: You know this one.

First, buy Mark and LaMarche and work through it. This is a clean book that takes you all the way through developing a slew of applications. You can run them on an awesome iPhone simulator that’s built-in to the free Apple development tools called Xcode. When you’re ready, you can become a developer for $100/yr (or become a subcontractor to me for free!) and then you can run apps on a real iPhone. Here’s the book:

As you work this book, you will be having some questions about Objective-C. Here’s the book you need:

As you understand the basics of Objective-C, you also need to know all about Cocoa- no, not the kind that you drink, the kind that DRIVES you to drink. This is the Apple framework that adds containers, databases, graphics, and general high-level behavior to Objective-C. It is actually very nice, and is much cleaner and easier to grok than the .NET offering from the other company. Hillegass’ book is a favorite:

Give it a whirl and don’t hesitate to contact me for help! I’ve gone through all of this pain over the last year, so most of it is still relatively fresh in my mind. In the end, I’d say I like the Cocoa environment much more than .NET, and I like Objective-C much better than C++. Interface Builder, a part of Xcode, seems too complicated at first, but it is AWESOME. You create and connect all of your UI objects in real-time, and then just stream them out to a file for reloading in the app later. This eliminates all of the automatic code generation as in C++ and VB, and this really cleans up a great many things.
Let me know how you progress! Good luck.

There are no comments yet.

Leave a Reply