Learning Objective-C, OS X, and iOS Programming

Since switching to a Mac last year, I’ve been determined to learn as much as I can about Objective-C and native OS X and iOS development. Typically, when I’m looking to learn a new language or subject, after I’ve exhausted the free online materials, I head straight to books from O'Reilly, Manning, or Addison-Wesley for a more in-depth look at the topic. This time around, I was very surprised to find dozens of very high quality programming guides and reference documents for developing on Apple platforms. To be honest, I was blown away by the quality of this documentation, and have yet to pick up a Cocoa or Objective-C book as I would have done in the past.

For starters, Programming with Objective-C is Apple’s official Objective-C language documentation. I started with this document, as I had never worked with Objective-C before and figured this was as good a starting place as any. Once you are able to wrap your head around the differences between things like Objective-C’s “message passing” (and it’s syntax) versus a language like C#, Java, or even JavaScript’s “method calling”, things start to become a lot easier. However, this is a pretty rigorous piece of documentation, as is not for the novice programmer. It assumes very much that you are a competent programming and doesn’t shy away from deep technical details. For those who can keep up, though, I think this is by far the best document for learning the language itself.

In my research online, I had also come across the Cocoa Fundamentals guide, which I read off and on while I was reading through Programming with Objective-C. This document explains Cocoa (and Cocoa Touch), Apple’s APIs for application development. It explains at a fairly high level what building blocks are available to you for developing your apps. It also talks a bit about the MVC pattern utilized by most Cocoa applications, as well as the general application lifecycle.

After graduating from these guides, I began stumbling across these more specific documents outlining particular APIs or topics on Apple’s developer site called Programming Guides. Simply put, these guides are AWESOME. They’re very thorough and walk you through the ins and outs of almost any topic you can think of.

I’ve been reading these guides the past few weeks, but have been putting my Google-fu to the test trying to find each and every one of these guides. I’ve got a respectable list started, but I feel like there are a few out there I haven’t included. Let me know if you find one!

Below this huge list of Apple docs, you’ll find a short list of other Apple programming sites and blogs I’ve been reading in order to soak up as much I can about these platforms. More adventures in Objective-C to follow in future articles.

Without further delay…

The Ultimate List of Apple Programming Guides #

Last Update: February 2, 2014

Getting Started #
iOS #
OS X #
Multimedia & Location #
Core Foundation #
Application Architecture #
Xcode, Testing, Debugging, and Project Structure #
App Store and Distribution #

Honorable Mentions #

NSHipster #

NSHipster is, as they put it, “a journal of the overlooked bits in Objective-C and Cocoa” and they offer a series of very well written, thorough articles on a lot of more obscure stuff you may encounter in your Apple programming adventures. The articles blend the perfect amount of technical content with a touch of humor which makes them very fun to read.

Cocoa Literature List #

The Cocoa Literature List has over 3500 categorized links to articles on Objective-C and Apple programming. You’ll find almost everything here; things like JSON, SQLite, and Bluetooth. The site includes a search and continues to be updated.

 
2
Kudos
 
2
Kudos

Now read this

Book Review: JavaScript Web Applications by Alex MacCaw

I began developing in JavaScript just over a year ago. The company I’m working for had announced a brand new product that was to be web-based, and with not a single web developer on our team, I took the initiative to completely immerse... Continue →