I hear this question so often that it’s time for another roundup of the best online courses, videos, in-person classes, and books for learning iOS development and Swift.
If you’ve looked, you already know there are a ton to choose from. This is a curated list of the ones that are recommended the most, ordered from free to most expensive. Be sure to note what’s missing: I’ve left off at least one highly-recommended option (as in, one that’s recommended by lots of beginners) that I personally find to be low quality and wouldn’t recommend.
Swift Playgrounds app
You can learn to code with Apple’s Swift Playgrounds Learn to Code interactive tutorials, which will teach you the basics of Swift programming. My 8-year-old son is working through this now, so it’s accessible to almost any age. This one’s free, but you’ll need an iPad to do it.
Hacking with Swift
These online tutorials are a great way to learn the basics of Swift and start building your first few projects with step-by-step instructions. Paul Hudson, the author, writes in a way that’s easy to understand, especially if you’re new to programming. These tutorials are designed to be used on a Mac with Xcode. Highly recommended – and they’re free!
Start Developing iOS Apps (Swift) by Apple
This online tutorial from Apple is a great way to get into iOS once you’ve learned a little Swift (maybe from the Swift Playgrounds app). It’ll teach you the fundamentals of iOS — the things you’ll use on almost any app you build. It’s free and just requires a Mac with Xcode.
Learn to Code videos
In addition to Swift Playgrounds and the online tutorial, Apple also has Learn to Code videos on iTunes U that are short and simple (1-2 minutes each) and offer activities and challenges. And they’re free to watch on your iPhone or iPad.
Developing iOS 11 Apps with Swift by Stanford
Stanford’s Developing iOS 11 Apps with Swift, is a very popular online course. It’s highly recommended by lots and lots of people (just read the reviews for their iOS 10 course), and in my opinion the lectures are excellent. Bonus: it’s free.
Swift Programming: The Big Nerd Ranch Guide
If you’re looking for a book, Swift Programming: The Big Nerd Ranch Guide is excellent. You can do this one even if you don’t have development experience, though I’d probably recommend starting simpler by running through Learn to Code with Swift Playgrounds first to get the basics before diving in to this. But either way, this is a great book and a great deal for around $30.
iOS Programming: The Big Nerd Ranch Guide
In addition to their Swift book, The Big Nerd Ranch has also written the best book for learning iOS development, called iOS Programming: The Big Nerd Ranch Guide. If you’re an experienced developer, you can probably start learning iOS with this book. If not, you may want to start with the Big Nerd Ranch’s Swift Programming book. iOS Programming is also excellent and costs around $30.
iOS Essentials with Swift
I realize this is starting to sound like an advertisement for The Big Nerd Ranch, but they’re not paying me anything to do this; they just write the best books and teach the best workshops. You can go to The Big Nerd Ranch for an immersive 7-day workshop to learn iOS Essentials with Swift. It’s relatively expensive compared to the other options here at $5200, but I’ve heard from multiple developers that it’s totally worth it. If you’re a developer and just want to get into iOS and Swift, this is a great choice. Highly recommended.
Other options to consider
The iOS Development in Swift course from Plymouth University offers free video lectures similar to the ones from Stanford. The reviews are good for this one, too; I just don’t have any personal experience with it. If Stanford isn’t for you, this one might be.
I know, there are tons. But these are the ones I see and hear recommended the most, so they’re a great place to start.
Get your free guide to getting started with Swift
In this 5 lesson email course, you'll build a solid foundation in Swift as you learn how to cast objects safely, work with optionals, parse JSON without crashing, build a REST API client, and write unit tests to uncover problems early. You'll be building rock-solid REST apps in no time.