Swift - current path to learning?


#1

I’ve a little over halfway through the Obj-C Programming book and quite enjoying it (through the struggles here and there).

My goal is to eventually learn Swift and be able to program for both iOS and OS X (with a slight preference to iOS) and I’m just wondering which direction/path I should take.

My current plan is to finish the Obj-C Programming book, then I’m not sure if would be better to read the Swift Guide from Apple or if it would be a better plan to read through either iOS Programming or Cocoa Programming before attempting to pick up the Swift syntax? Basically if I switch to Swift syntax is it going to make reading the iOS/Cocoa books next to impossible?

Obj-C -> Swift -> iOS -> Cocoa?
Obj-C -> iOS -> Swift -> Cocoa?
Obj-C -> Cocoa -> iOS -> Swift?

Appreciate any insight as to a recommended path to take, thanks!


#2

Hi Jesse, I’m no pro but I’ve had a bit more exposure to iOS/Obj-C and Swift, so here’s my 2c:

Swift:

  • Is quite new and, while it appears that it’s going to be the mainstream language for Apple, the question is when will it really be ready for prime time. Impossible to predict, but guessing, I’d say… next year?
  • Swift integrates well with Obj-C frameworks and indeed, Objective-C is much more mature (obviously) and will likely be a mainstay for iOS and OS X for quite some time, if not forever.

For my money, then, I think one and all will need a fundamental knowledge/familiarity with Objective-C. While it’s too bad that this adds to the effort/scope of what one needs to learn that’s life. I’ve started attending a Swift Language User Group (SLUG, if you can believe it) Meetup in Silicon Valley/SF to try to monitor what’s happening and start up the learning curve. In the meantime, my focus now is to develop using Objective-C, get an app or two released, and then dive more fully into Swift. Maybe by then Swift’s maturity will be sufficient and/or we’ll all have better insights from the cognoscenti.

BTW: I’m not sure how study of Cocoa fits into all this. It seems to me that you could add lots of additional topics, including NSData and so forth. Probably should continue on your work and then, as you discover your needs you’ll know what you need to learn. BNR"s iOS book hits a lot of topics very well. I’m sure you’ll enjoy it.