Ask HN: iOS developers, where did you learn?

17 points by justadudeama ↗ HN
I want to start getting into iOS development. I have already done some basics with Android, and want to start on iOS. There are some cousera courses out there, and obviously a lot of Youtube and guides. Is there anything that stands out as being extra effective?

14 comments

[ 2.8 ms ] story [ 40.8 ms ] thread
Udacity and Treehouse I have some of the best course you will find.
I tried to build an app and then googled each problem I hit (How to display a button on iOS. How to change label text on iOS. How to play a sound in iOS...). A few apps later and I had a decent grasp on a lot of concepts.
Raywenderlich.com was my lifeblood getting started
Start by making an app you want, then when you get stuck on a certain feature (eg: how to get GPS location?) then you google / stack overflow it. After completing multiple apps, you should have a long lasting grasp on multiple iOS dev concepts.
This is really the best way to go, it’s how I did it.

Tutorials are nice but it’s too easy to watch them and go “yeah I get it” - Never actually implement what they’re saying because you convince yourself that understanding is all you need, but no implementation (because it’s ‘boring’) means no spaced repetition and you forget most of the material.

Code, get stuck, google, implement, <= that cycle forces you to code it and the delay of you doing this writes it to your memory better

Building something and struggling through the myriad of roadblocks seem to be the best way of learning anything programming related. I was a C developer, then started building web apps. I thought I was a good programmer through my C experience, but was amazed with how many technologies I had to learn to build a modern site. None of it was “hard” just a large quantity of stuff to learn and struggle through, one database or library at a time.
I think the iOS Books from Big Nerd Ranch are really worth the money. Just build an app while you are reading it, and at the end you should have a solid fundament to continue learning.

Also the Stanford online courses are really really good.

But dont mix to many sources.

I also went the "google each problem" way. I had programming experience before I started.
I attended "The Big Nerd Ranch: (https://www.bignerdranch.com/) back in like 2001. It was in a remote resort in Georgia. They only had 3-4 employees, IIRC. It was a heads down week, focused, touch. Aaron was amazing and often stayed until 11pm - Midnight because we all were still up implementing what we were learning into personal projects.

I remember that class had folks from all walks of life. A guy who owned an auto-body place, an M.D, a stock broker, Los Alamos Labs, IIRC. My memory is a bit fuzzy here but there were only 8 of us.

One of the ways I learned was through examples provided by Apple. What I would do is download the example, see how it worked and then change something small. Once I fully understood how that feature/component/class worked I would re-implement it with whatever logic I wanted to use in my own application.

This has worked for pretty much any mobile project I've done. I'm currently doing the same thing with ARKit + Vision framework.

Went from Android to iOS too. Basically did a lot of back and forth between Stack Overflow and Xcode. Apple documentation was pretty helpful too, I wish I had more time ingesting it. I'd recommend making lots of small projects to experiment one thing at a time. Then build your bigger projects from those small blocks.
Start simple and get something on your phone - that's how I did it. My personal opinion: stick to official iOS developer documentation and code samples first. That way you'll get a good feeling how e.g. Swift should be used.

My mistake was reading too much open sourced code on Github and adapt a lot of bad coding habits.

The Stanford courses are great too https://itunes.apple.com/us/course/developing-ios-11-apps-wi...