iPhone Development Crash Course
One big reason you haven't seen a post from me in the past few months is that I have been spending every available moment getting up to speed with developing iPhone applications. Aside from a short-lived attempt at becoming a game programmer using C++ years ago, this is my first venture away from the web development and into the world of compiled applications. Moving away from mostly open source to a proprietary SDK I was initially surprised at the lack of good tutorials and learning materials available online, but over time I've found some very good resources that have helped me out along the way.
Although I'd like to include only free resources here, there is one other resource that I have to mention. Stephen G. Kochan's Programming in Objective-C 2.0 has probably been the single most useful tool that I have come across. If you have a strong background in C or C++ this book might not be as useful, but otherwise it is definitely worth the money. A non-programmer with a lot of patience could even use this guide as an introduction to programming it is so complete. If you already have experience in another language the first half of the book will go by pretty quickly, but it is definitely worth the read to find out all the peculiarities of Objective-C and and get a really good refresher on programming fundamentals.
If you have a lot of patience, and don't mind learning a few things that don't apply directly to iPhone development there are a few good resource online for learning Objective-C as well.
First up is Cocoa Lab's BecomeAnXcoder. Before finding Kochan's book I worked through most of this guide and felt like I was getting a decent grasp of the language. I also flipped through the following two guides after reading Kochan's book and appreciated the different perspective on the language, even though these resources do not apply directly to iPhone, or even Mac development. http://gnustep.made-it.com/BG-objc/index.html, and http://www.otierney.net/objective-c.html
Once you have the fundamentals of Objective-C under your belt the next hurdle to learning iPhone development is learning the SDK and the tools provided by Apple. It is possible to compile your own applications and skip over X-Code and Interface Builder entirely, but why would you want to when they can make your life so much easier? All the developer tools are freely available to anyone on an intel mac.
One place I found early on where I immediately felt comfortable was at iPhone Dev SDK. This forum has captured that open source community feel even when dealing with a very tightly regulated tool like the iPhone. There are a lot of answers to common beginners questions here that are a lot harder to find, or a lot harder to understand elsewhere.
For the visual learner, I've been able to get a lot out of some of the tutorials at iPhone Dev Central. A word of warning, many of these tutorials were written for earlier Betas of iphone software and may not work with your version of xcode or your devices OS. That being said you can use these tutorials as a general guide to solving a problem, any version related bugs are usually relatively easy to fix. I've gotten the most out of the tutorials by 'nitrex88' so definitely look out for his handle.
If your are looking for plain written out tutorials the best place I've found is iCodeBlog. I especially recommend their series on game programming.
Another entry for the visual learners we upstart iPhone developers Stamford offers a free course on iPhone development via iTunesU. This course it taught by Apple programmers, so you're getting information almost as close to the source as it comes. -Course Page -Direct iTunes Link
If you've gotten this far, then you're finally ready to tackle Apple's documentation. I know this seems crazy, but Apple definitely gears its documentation toward the more experienced Objective-C programmer. At some point along your path you'll suddenly open the official documentation for NSString and it will make perfect sense, but getting the fundamentals of the language and platform internalized is necessary to get to this point. If you're already an experience Objective-C programmer on the mac, I'm sure Apple's docs are all you'll need, and I'm surprised you've made it this far in my guide. These docs can be found on Apple's developer site, or within Xcode.
After you have mastered the fundamentals of coding for the iPhone there is till A LOT to learn. One great collection of tips I've found is over at Stack Overflow, and is a great starting point to further increase your iPhone ninja skills.

Comments
Post new comment