Fast Tracked iPhone DevelopmentVote on HN Tweet
Jumping into a new language, a new framework, and a new set of tools is overwhelming! But the best way to learn is to be utterly crushed by the technology, then have friends pick up the pieces. Once you've seen a good broad overview of what's available, you're more capable of finding resources on your own. Here is my chronological step by step guide to getting bootstrapped.
I don't have an iPhone (yet). One criteria for me to buy the iPhone is whether developing for the device is fun. You'd think this would prevent me from developing, but Apple's iPhone SDK includes an emulator. The SDK is a huge, so start downloading right now.
- Download the iPhone SDK and install it.
While you wait, check out Apple's video overviews. They're really slim on technical content, but help familiarize you with how the frameworks are organized. I read the documents with the videos playing the in background. The videos are too slow paced to watch by themselves.
2 hour chunks until your brain goes numb
After you get sick of the market-speak hype, familiarize yourself with the patterns and concepts behind Objective-C and the Cocoa framework.
Understanding the lifecycle of an iPhone application can help you understand how the different pieces of an app fits together.
Watching a lot of videos and reading a lot of documents is a good start, but it really doesn't stick until you apply it. At this point, I had to struggle with the language, the framework, Xcode, and Interface Builder. To keep your sanity, I recommend working through Apple's sample projects. If you get bored, I recommend flipping through Appsamuck for some good examples.
Each apps takes about an hour to go through
- Appsamuck - 31 small apps to practice on.
Keep it up
I'm very lucky to have my iPhone gurus Mike, Stephen, and Allen on hand to teach me best practices and tips and tricks as I go along. If anyone feels like doing a hack session for a few hours on weeknights, ping me at jch at this domain. I'll update this post with more useful bootstrapping links as I go along.
- Stanford iPhone class - comes with a podcast.
- code completion - ESC to show possible completions, ctrl-/ to jump to next placeholder argument.