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

Learn Swift or Web Programming First?

If my ultimate goal as a programmer is to build iPhone and iPad apps, should I jump straight into learning Swift, or would it be better (long-term) if I first got a handle on web programming concepts and languages (from learning JavaScript, jQuery, and PHP) before moving to iOS Programming?

The reason I ask is because I imagine that some of my future iOS apps will have a web interface (example: how Buffer can be used from a web browser or their native iOS app). Therefore, would learning web programming (before Swift) make more sense?

Appreciate everyone's input.

5 Answers

swift is a lot more accessible than objective-C which makes learning iOS a lot easier than it used to be. I say learn swift first.

of course it would be beneficial to learn the things you mentioned as well, so I would definitely do it, but you will probably enjoy learning programming more if you learn swift first, since your ultimate goal is to develop for iOS

Thanks for the input! Really appreciate it.

It would be better to learn Swift first is this is ultimately what you want to do. However, most apps on the market are still written in Objective-C, as are most available libraries, so learning Swift alone can make it difficult to find work anytime soon.

Amit laid it all out in a blog post that you can find here:

http://blog.teamtreehouse.com/learning-swift-vs-objective-c

I would personally recommend learning Front End web technologies first because they are simpler concepts to grasp if you lack a formal education in computer science. However, following this option requires a lot more effort, but it would help enormously with the learning curve.

I vote #swift!

Hey Roman,

My personal opinion is that you should not confuse Web Development with Native Mobile Development in this case iOS. The career path is a lot different from each other even if you see people saying they program with every possible language you can imagine.

If you see yourself programming for iOS i would recommend become proficient with Objective-C first. It has a lot more depth than Swift which is still very young and in the market all iOS specialists have great knowledge of Objective-C first and then Swift. Plus, if you become very good at Objective-C you will be able to pick up Swift very easily within a few weeks. As an extra advice, always choose Native programming languages over "multi platform" languages as they are the ones that deliver quality.

If you see yourself getting into Web Development and for more than one or two Mobile "websites" then forget iOS as they are worlds apart in mentality, structure and capabilities.

I hope i have been of help!

Thanks for your input everyone! Very good points to consider. I emailed Amit directly, and this was his reply:

"Hi Roman,

The fundamental programming concepts stay true across languages so it really doesn't matter what you learn first. With Swift it will be easy for you to switch to a web language or the other way around.

That said, Javascript is probably the easiest language to learn and very versatile since you can even build a server-side app.

Hope that helps"

For now, I am planning to pursue Swift & iOS primarily, and will learn JavaScript and PHP in my spare time, as I'm still interested in web programming languages (and understanding web programming will benefit me in my work as an online marketing manager for my company, too).

I don't really plan to become a full-time iOS developer; I just want to be able to build and sell my own iPhone and iPad apps on the side. I know there are many iOS libraries still in obj-c, so I will probably still have to dabble in it. And who knows, maybe once I get really good at Swift I will want to make a full-time career out of iOS development (in which case I will learn obj-c).

I'm open to any other advice and input, so share away! :) Thanks for your input.