NEW! Pre-order my latest book, Testing Swift! >>

How to learn Swift programming for free

Paul Hudson       @twostraws

Now that Swift has been around for a few years there’s no shortage of teaching material to help you learn it quickly and efficiently. Even better, there are some high-quality books, blogs, and video resources that are available free of charge, so if you want to dive in there is no excuse.

Of course, everyone learns differently: what works for you might not work for someone else. So, I’ve tried to split learners into eight broad categories, and for each category list a free resource to help you get started.

Hopefully you can find something useful below, but if there’s some other way you like to learn get in touch!

I like to learn by reading the manual

When the first beta of Swift 1.0 was announced, I remember downloading Apple’s official guidebook and reading it cover to cover. It’s quite dry (by design!), but it is as comprehensive as you can get, and both clear and concise.

If you’re the kind of person who just wants the cold, hard facts of the language, the official Swift reference is exactly what you want – just don’t complain to me if it sometimes feels like you’re reading a dictionary.

Download here

I like to learn by examining sample projects

There’s a huge collection of open source Swift code out there to read and learn from, and in fact I’d say you’re spoiled for choice.

You could if you were so inclined just search GitHub for Swift projects, but a much easier thing to do is read this huge list of open source Swift projects that was assembled collaboratively.

Keep in mind that everyone writes Swift a little differently, so try to refer to a good Swift style guide as you go.

I like to learn by making stuff

I’m a practical learner myself, meaning that I learn best when I use things in a real-world context. Not only does it make it more interesting to read (because let’s face it: we’ve all read enough tutorials that use foo and bar for variable names), but it also helps me fit concepts together into a bigger jigsaw puzzle that I can then apply in my own work.

So, it should come as no surprise that the resource I recommend here is one I wrote myself: Hacking with Swift. It’s made up of 39 complete projects that teach you Swift alongside iOS, plus a large language introduction that teaches you all the essentials.

Hacking with Swift is free to read online, but I also sell a premium edition that includes some bonus material beyond the projects.

I like to learn by watching videos

Visual learners might at first be glad to see that YouTube has an epic collection of videos, but annoyingly Swift has evolved so quickly that the vast majority – yes, really – are now out of date.

I myself fell prey to this when I released my Hacking with Swift videos on YouTube – they were recorded for Swift 1.1, and shortly outdated by Swift 1.2, then 2.0, 2.2, 3.0, 3.1, and… well, you get the point.

The task of finding good videos is made slightly easier because some kind soul has curated hundreds of videos about Swift from across all channels, and you can find them in a single place. This list includes Apple’s own videos from its recent conferences, and more – there must be a thousand or so in total.

It’s still down to you to figure out which ones are up to date or not (just look at the upload date!), but at least they’ve rounded up the list for you.

Start watching here.

I like to learn with weekly newsletters

A common way of learning is to get regular news and tutorials delivered to your inbox, and in the Swift world we’re lucky enough to have several to choose from.

By far the largest and most popular is Dave Verwer’s iOS Dev Weekly, and with good reason: Dave and his team work hard to find a good mix of material that covers both code as well as business topics.

For a more technical alternative, Jesse Squires’s Swift Weekly Brief delivers news and discussion on the evolution of Swift itself, and makes for mandatory reading if you’re keen to stay up to date with the language.

One increasingly popular alternative is Natasha Murashev’s This Week in Swift. Natasha has a great eye for what’s up and coming in the Swift world, so try reading a few back issues online and see what you think.

I like to learn by taking classes

If you’re looking for a more formal classroom setting, Stanford publishes a course that teaches iOS app development using Swift. The course is available through iTunes, and gives you both videos, slides, and demo code to work through.

This course is hugely popular with folks who prefer the structure that a classroom approach offers, but be warned: Stanford list the prerequisites as being “C language and object-oriented programming experience exceeding Programming Abstractions level (a different class), and completion of Programming Paradigms (another different class).” So, don’t be surprised to be find that this class assumes you already know a lot.

Also, check the publication dates before you start: this class usually trails official Swift releases by about six months.

I like to learn by attending conferences

Thanks largely to Objective-C’s long history, Apple developers have a huge selection of conferences to choose from. Here are some from around the world:

Feel free to get in touch if I missed your conference!

I like to learn by reading example code

Sometimes reading code can be the fastest way to learn, and in the Swift world that’s especially true because so many developers are coming from Objective-C and really just want a Swift translation guide.

If you’re this kind of learner I have some good news: I wrote the Swift Knowledge Base to provide over 300 code samples and language tips to help people learn Swift. The code is organized into categories such as Arrays, Strings, UIKit, and Xcode, but you can also search for specific APIs to get right to something that interests you.


Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

About the author

Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and Mario Kart world champion. OK, so that last part isn't true. If you're curious you can learn more here.

Was this page useful? Let me know!

Click here to visit the Hacking with Swift store >>