Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,863 Points

Which Track do you guys recommend first?

I'm thinking of expanding my programming training to include iOS apps... Looking at the tracks, however, there is "iOS with Objective-C" and "iOS with Swift." So... which one is better and/or which one should I do first? Opinions...

4 Answers

I'm gonna go against the grain and argue the antithesis of the other 2 answers so far.

To give a little background on me here, I'm a Treehouse-trained iOS developer of a year and a half. I have 1 app of my own on the App Store, I've contributed to a couple others, and I've written but not released countless more. I'm fluent in the latest versions of both Swift and Objective-C.

Anyway, my recommendation is to start with Objective-C, for a number of reasons.

  • It's an easier language than Swift conceptually.
  • It's been around for a long time (it was made at NeXT in the '80s), and thus is very stable
  • It has a lot of support. The vast majority of iOS questions & answers on StackOverflow are Objective-C
  • If you get a job at a company, their app is probably written in Objective-C
  • It is the basis of Swift, so you'll know a lot more about Swift as soon as you start learning, if you choose to do so
  • Swift is evolving very quickly. The Swift you learn now may read very differently than the Swift you write a year from now (The major time this happened was with the transition from Swift 1.2 to Swift 2 that was released in June. My older Swift code doesn't even compile anymore, even though it was perfectly valid when I wrote it)
  • The Swift runtime is still somewhat unstable, and doesn't even run natively on iOS
  • The Swift that Treehouse teaches is not valid modern Swift. You'll have to use older versions of Xcode to learn it, and you'll be on your own updating to the new versions

I hope this helps! If you have any questions, feel free to reply to this answer

Go with Swift. Great corse, amazing instructors. you will enjoy it! Although the corse is not updated to Swift 2+, but still is a great material.

Kristian Egebæk-Carlsen
Kristian Egebæk-Carlsen
9,809 Points

I would say it depends on what you want to accomplish with your new skills. I can see that you have taken courses in php, ruby and python, if you like those programming languages, swift would be a nice move to start with, because it is very similar to those. If you want to learn iOS programming to make your own apps, then again swift would come natural to you hence your experience with php, ruby and python.

On the other hand, if you are interested in getting a job as an iOS developer then you will have to start with Objective-C. Simply because there are more jobs and most apps on the appstore are programmed in Objective-C, and as a developer in a firm, you will likely be assigned to develop new apps as well as updating and maintaining older apps.

I suppose if you are looking to become a skilled iOS developer, you will eventually have to learn both languages. But which one to start with depends on your goals!

Hope this helps :)

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,863 Points

Thank you Michael Hulet Josue Gisber and Kristian Egebæk-Carlsen for your replies. I very much appreciate you taking the time to give me your opinions and arguments. That's what I love about Treehouse... people kind of look out for each other and help them come to the best decision.

Based on what you all have said, I think I will start with the Objective-C path and then move on to the Swift path. It's just where I am now in my career and where (and when) I plan to expand it.

Thanks again guys! :)