I found it quite difficult to find a good resource for a complete Objective C newbie like myself. Many resources assumed prior knowledge or a computer science degree, and I had neither.
What I needed was a structured, soup to nuts approach to Objective C and the iOS SDK, and after many hours I’ve compiled a list of my favourite resources for getting started.
What I Know, What I Don’t Know
Before I go through my picks, I want to outline exactly what knowledge I have already.
I know very well:
I know moderately well:
- Object Oriented PHP (mostly through work in CodeIgniter)
iTunes U: Stanford iPad and iPhone App Development
I knew of iTunes U, but had never really looked at it. On a whim, I downloaded the app to my iPad and searched for iOS development. Immediately I knew I had found exactly what I needed.
Stanford has made available their entire university course on iTunes U. Every lecture video, every Keynote slide, every assignment PDF is available and organised in the iTunes U application. The course is excellent and you feel as though you are in good hands as lecturer Paul Hegarty walks you through the concepts and live demos.
Lynda.com: iOS SDK Essential Training
I’ve always been a big fan of Lynda.com; their succinct video tutorials fit with my preference for visual learning. I would not recommend starting with this, but once you have the fundamentals down, this series is great for quick demos and code snippets.
I use the Stanford course for my guided learning, and Lynda for when I want to try something specific while playing around with Xcode. I tend to jump around with Lynda, whereas the Stanford course is meant to be consumed from beginning to end.
To be honest I haven’t used much in the way of reading material. I’m very much a visual learner and prefer the video-based tutorials mentioned above. However, in my research I’ve found a few resources that many people recommended:
- Programming in Objective-C 2.0
- The iOS 5 Developer’s Cookbook: Core Concepts and Essential Recipes for iOS Programmers
- Beginning iOS 5 Development: Exploring the iOS SDK
Make sure you get the latest edition of these resources. Many recommendations I’ve come across link to older versions that refer to iOS4 or earlier. One thing I’ve learned in my short time learning iOS development is that the jump from iOS4 to iOS5 was enormous, and reading a book for iOS4 will only confuse you!
When I first started looking for resources, I approached the problem like I had when I learned HTML, CSS and PHP — search for online tutorials and figure it all out as I go.
It didn’t take long for me to realise this was a bad idea. Firstly, this approach can lead to poor coding practices because you’re muddling your way though and assuming the author of the tutorial knows what they’re talking about. Secondly, iOS has changed rapidly over the past few years, so you can find yourself learning techniques that have been deprecated.
More so than other languages, I believe you need a structured approach when learning Objective C and iOS development. It’s so tempting to jump right in and try to make apps by following cookbook-style tutorials, but I would recommend resisting that urge if you can.