A lot of people are interested in developing iOS apps but don’t know where to get started. Getting started questions come up frequently on Reddit’s iOS programming forum and the same answers pop up over and over again so I’m compiling them here.
UPDATE: NOVEMBER 2020
Apple’s iBooks on iOS Development
Apple provides two free introductory books on developing iOS apps on iBooks:
If you search iBooks for Apple Education, you’ll also find books on learning to code as part of Apple’s Everyone Can Code series. If you’re new to programming as well as iOS development, Apple’s books are a good way to start learning.
Stanford’s CS193P Course
If you have experience developing software on other platforms and want to quickly get up to speed developing iOS apps, Stanford has their CS193P course on iOS development available for free on iTunes U. The course is only available on iOS devices. If you want to watch the videos on your Mac, many of the lectures are available on YouTube.
Keep in mind that this is a college course at Stanford that students take in one quarter. This course moves at a much faster pace than the Apple books.
The Stanford course has been updated to use SwiftUI.
Hacking with Swift
Hacking with Swift is a website that teaches Swift and iOS development. They have a free book that teaches the Swift language by building 39 projects. The site also has free 100 day iOS development courses, one that uses UIKit and one that uses SwiftUI.
When you finish the free book, Hacking with Swift has books you can buy to delve deeper into Swift and iOS development.
Angela Yu’s Udemy Course
If you prefer video learning and want something that moves at a slower pace than the Stanford course, check out Angela Yu’s iOS App Development Bootcamp. This course is not free, but it gets recommended a lot when people ask how to get started with iOS development.
When you go through one or more of the resources I mentioned earlier in this article, you’ll be ready for raywenderlich.com. raywenderlich.com has a vast collection of text and video tutorials on iOS development as well as books to buy. They are moving towards more video tutorials. The tutorials tend to focus on one specific topic, such as table views. After you learn the basics of iOS development and want to go deeper on a specific topic, check out raywenderlich.com.
If you have more questions on learning iOS development, they may be answered in Reddit’s iOS programming FAQ. The FAQ has a large list of resources for iOS developers including blogs to read, podcasts to listen to, and places to ask questions.