Learning iOS Development

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.

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.

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.

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.

Ray Wenderlich

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.

Additional Questions

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.