published by joimkim
Want to create a visual like this?
Get Started© 2025 Piktochart.com, Piktochart LLC. All Rights Reserved.
What is iOS development?
iOS powers 100% of iPhones, iPads, iPods and Apple watches
iOS is a mobile operating system that was created by Apple.
iOS development means that you are creating iOS applications
iOS applications are programs that run on apples mobile devices.
How do you write iOS applications?
Swift
Easy and Fresh
Objective C
Mature and Wanted
OR
iOS applications are written in either Objective C or Swift.
Use the Language Picker below
Both languages are great, but how do you choose which one to learn first?
Language
Picker
Choose a path
I want a job as soon as possible
Easier Language
I want to make money with apps
What will be hot in the future
Lots of free resources
The fun language
The key thing to note for choosing the language is that Swift is a new language and therefore very volatile. As a result of this there will be a lot of updates which can break your code, and also the free resources will be limited.
The volatile nature of Swift is a big reason why major companies has not switched over to Swift yet. This is the main reason why if you want a job now you should start with Objective C.
So why learn Swift?
Apple is pushing for Swift to be the main language moving forward. Possibly in couple years software engineers who knows Swift may be in more demand.
For me I started with Swift. As someone new to programming I found Swift much easier to read and understand. Also the real important thing is not the language you choose. Learning software engineering is what is really important and you can accomplish this with either language.
Eventually you should learn both and many other languages
JUST GET STARTED!
I will append this guide once I learn Objective C.
From this point forward this guide will be focused on Swift as I have not gone through Objective C yet!
My Study guide for Learning Swift
What resources I used to get ready for my first App development
How do I learn Swift?
Before we dive into the study guide, I wanted to highlight one main thing to consider
Software Engineering
Designing programs with standards
Programming
Technical know how of coding
VS
A lot of people interchange these two words, but they are different. It's important to understand the difference. I'll use building a bridge as an analogy
I designed this bridge. I used the latest industry standards!
I built this bridge. I put up the pillars and all the wires. I'm amazing!
Programming is like building the bridge. You need to know how to use the tools to get your end result. In this way, you need to know the programming language to build your "bridge"
Software engineering is like knowing how to design a bridge. You need to know the proven industry design rules to make a long lasting and reliable "bridge". In this way you need to learn software engineering to design great software
Learn BOTH but focus on Software Engieering
Learning the Syntax and grammar of a programming language is pretty straight foward
Understanding software engineering is the hard part about becoming an iOS developer
If you every wondered why after following online tutorials and you could never recreate the same program without the tutorial, it's because you are focusing on just programming and not understanding the software engineering behind it.
Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime.
Maimonides
Enough chit chat. Lets get started
Stanford's Programming Methodology is amazing for absolute beginners. Although it is not taught in Swift, you should study this material for the next Stanford class I'm recommending.
absolute beginners
I know OO programming
I want to have fun now!
This class by far is the best for learning Swift. You should only start the , Developing iOS 8 Apps with Swift, class if you are familiar with Object Orientated Programming.
I found that just following lecture style study to be boring at times. I used Rob Percival's: The Complete iOS8 and Swift Course: Learn by building 15 Real World Apps, on Udemy to practice programming.
Tip: for both of these Stanford Classes, you should skip the beginning of some lesson as they go over logistics of the class.
Tip: Don't ever buy Udemy classes full price. They always go on sale.
Tip: Don't binge watch. Go and code
Tip: Do the reading and homework that's required for the class.
Tip: Follow along, don't passively watch only. Pause and do the challenges
Apple has their own documentation on Swift. It's free so get it and read it. I recommend this documentation as your only source of reading to start off.
Required!
Not for beginners
Really not for beginners
This book by Matt Neuburg is very good but get's really verbose at times. The book is really for people who want to get an in dept understanding of how iOS works. This is not for beginners
This book follows immediately after the previous book. This also is not for beginners but very good but verbose.
I included these 2 books because they both dive deep into iOS. Although they are very hard to go through, they will cover the gaps from the videos
How to use my resources
absolute beginners
Start with Stanford's programming methodology
Start Reading Apple's documentation on Swift
For fun and early gains. Go to Udemy and follow along with the lessons
I understand OO now
Start with Stanford's Developing iOS 8 Apps with Swift
Read this again, but just follow along with the classes speed.
I can write software now
Start making Apps!
Read below books if you want to understand iOS more deeply
use stackoverflow to get help from other develoers
What about Online tutorials and youtube?
Subtitle: Double click to edit
Below is my collection of great online resources with tons of tutorials and youtube videos.
My only comment is that a lot of the tutorials are done by various people. For me it was hard to keep switching between different teaching styles for each tutorial I followed
I highly recommend sticking with apple's official documentations and Stanford's lessons first before diving into these great resources.
If you liked my study guide please share this with your friends. If you want more content like this please subscribe to my newsletter on my website. Click the rocket!
I also have a podcast where I interview software developers in the industry and get their story on how they made it. Come and listen for free!
THANK YOU
Finally if you have any ideas on improving this guide or you would like to be on my podcast, send me an email at alphatolaunch@gmail.com
01
1
02
2
03
3
04
4
05
5
06
6
07
7
08
8
09
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22