Help! Big Nerd Ranch books

I just finished reading “Objective-C Programming”, and now I don’t know what to read first: Cocoa Programming or iOS Programming.

What is the right order? I ask because both Mac and iOS are based on a variation of Cocoa, and I don’t know if reading Cocoa Programming first would give me useful knowledge/experience better absorb iOS Programming, or if I’m good to go both paths.


to know which is the best book to read next, you should decide wether you want to develop on iPhone / iPad, or on a Mac. Not that it is ‘that’ differnt, but there definitely are differences (see below)

So if your answer is : first on the iPhone / iPad, then you should read iOS programming. Which is by the way without a doubt the best introductory book on the subject. I’ve finished it, so I can tell you that from there on you’ll feel comfortable in choosing your own direction. Don’t think that after finishing that book ‘you know it all’. You actually barely scratched the surface, but the surface in the BNR book is very wide. So you have a solid basis to go further.

If your answer is : first on the Mac, then you should go for Cocoa programming for Mac OS X.

Why choose : well although the iOS operating system and Mac OS X operating system are based on the same Cocoa framework, they are not the same thing. They aren’t that different either, but in the beginning you better make the choice. iOS could be seen as a subset of Mac OS X, however, that’s not completely correct, as iOS has some specifics that will not be found on Mac OS X. So you’ll have :

  • shared frameworks / libraries that are identical on iOS and Mac OS
  • frameworks/libraries that are only present on Mac OS
  • frameworks/libraries that are only present on iOS

luckily for all of us, the shared frameworks and libraries continue to grow as more of them are ported to iOS with each new release.

The reason for all this is that a Mac and iPhone/iPad is a different hardware platform : a Mac has lot’s of more memory, hard disk space, multi-core powerfull processors, video card with high-end GPU’s, running on AC power (not batteries), … Also, a Mac has no touch screen, no gps, no accelerometers, … A Mac application uses menus, an iOS application not, and so on …

Later when you mastered one of the 2 platforms, it will be a small piece of cake to learn the other platform.

Because of this there are some differences between both, and as newbie you better not learn them in parallel (that’s my opinion).

So the choice is actually yours :slight_smile: Good luck!