
Ask HN: iOS developers, where did you learn? - justadudeama
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?
======
jason_slack
I attended "The Big Nerd Ranch:
([https://www.bignerdranch.com/](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.

------
soulchild37
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.

~~~
malux85
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

~~~
speedplane
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.

------
pragmacoders
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.

------
hilti
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...](https://itunes.apple.com/us/course/developing-ios-11-apps-with-
swift/id1309275316)

------
DrJid
Raywenderlich.com was my lifeblood getting started

------
gubsz
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.

------
kirualex
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.

------
big_paps
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.

------
forkLding
[https://www.letsbuildthatapp.com/](https://www.letsbuildthatapp.com/) is
pretty good, good place to start and get intermediate understanding.

------
wingerlang
I also went the "google each problem" way. I had programming experience before
I started.

------
oldmancoyote
Stanford's online courses.

