iPhone Dev Links
A friend of mine on Twitter was asking about references for getting started in iPhone development. I realized I had a lot of references to share, but nothing well organized. This entry (which I’ll probably update as I find new things) will have a running list of things I’ve found useful when getting started into iPhone development.
Cocoa Programming for Mac OS X - iPhone development is done in Objective-C, which is the same language used when developing for the Mac. This is by far the best book to use for learning Obj-C.
Cocoa Design Patterns - Most of the common design patterns from the Gang of Four are applicable for the iPhone and Mac, but there are several others that are very popular within the Cocoa [Touch]/Obj-C sphere. Also includes Obj-C sample code for each of the patterns covered.
The iPhone Developer’s Cookbook - After picking up Obj-C from the above, I just needed some iPhone specific code examples. Erica Sadun has been hacking on the iPhone before it had an official SDK, so her cookbook has been very helpful.
Beginning iPhone 3 Development - If you need more details about the SDK, I’ve heard several people who liked this book.
iPhone App Development: The Missing Manual - This will probably be my next iPhone related book. Craig Hockenberry is the developer behind Twitterrific, Frenzic and several other apps. He’s been a very vocal leader in the development community and I have great faith, sight unseen, that his book is going to be very helpful.
furbo.org - Speaking of Craig Hockenberry, his blog is also a great resource. There’s lots of sample code and general thoughts on usability and motivation.
iPhone Dev Center - Apple has some really nice code samples and good documentation.
TouchCode - If you’re doing anything with XML, the TouchXML project is very helpful. The XML API provided on the iPhone is not very robust compared to what’s on the Mac itself. TouchXML mimics the most important features of the Mac API, making it really easy to get started using XML. TouchJSON is a similar concept, but for JSON objects.12
SBJSON - I haven’t used it, but SBJSON is supposed to be another very powerful, but light-weight JSON parser/generator.
iPhone developer:tips - The name’s pretty self-explanatory. There’s a lot of good tips here about various subjects.
Free Time Studios - iPhone game developer in Houston. Nathan has lots of experience using CoreAnimation and OpenGL on the iPhone. Definitely check out his i360|Dev slides and sample code as well as his FTUtils.
Core Data slides - Core Data is one of the best ways to store your application’s data on the iPhone. For those unfamiliar with Core Data, you can think of it like an ORM from other languages or ActiveRecord from Ruby, although that’s a fairly loose comparison. Darren Stokes had a really good presentation at the Houston iPhoneDevCamp and posted his slides and sample code online. I’ve been using Core Data for about a year and still learned something new from Darren.
The Three20 Project - Joe Hewitt was the developer for the official Faceboook app. He pulled out a bunch of views and concepts from the application and released it as an open-source library.
cocos2d - Very nice 2d gaming engine built on top of OpenGL. Has lots of similarities to CoreAnimation.