NEW: My new book Pro SwiftUI is out now – level up your SwiftUI skills today! >>

How to learn Swift programming for free in 2020

If you’re just starting out from scratch, here are some free Swift coding resources to help learn faster.

Paul Hudson       @twostraws

Now that Swift has been around for several 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 other than being unsure where to start.

Everyone learns differently, and what works for you might not work for someone else. So, I’ve tried to split learners into nine 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!

Hacking with Swift is sponsored by Essential Developer

SPONSORED From March 20th to 26th, you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!

Click to save your free spot now

Sponsor Hacking with Swift and reach the world's largest Swift community!

I want to learn SwiftUI

Although Apple's SwiftUI framework is extremely new, many people are keen to find free tutorials, free videos and more to help them learn SwiftUI as quickly as possible. Right now there aren't many resources available, but I have a few that will get you started:

Hopefully one of those will get you moving – SwiftUI is great fun to work with!

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

You might also find my glossary of common Swift terms a useful companion – it's a quick reference to help you remember words such as closures, conditional conformance, and protocol extension.

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.

I've released on GitHub a collection of projects from some of my Swift books for different platforms:

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

Many people prefer to watch livestreams or recorded videos to see real Swift in action, which is why I created my Swift in Sixty Seconds series – it breaks down the fundamentals of Swift into videos lasting one minute or less, so there's no time for waffle and no chance to get bored. I also post videos to YouTube about a variety of Swift topics such as architecture and internals – you might want to subscribe to my YouTube channel.

As for other videos, I can highly recommend the work of Sean Allen on YouTube. He posts news, tutorials, and tips on a regular basis, and is never short of fresh ideas.

I like to learn by listening to podcasts

There are lots of Swift podcasts out there you might want to try, all with varying lengths and difficulty levels. Try a few and see which suits your taste:

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.

You might also want to subscribe to my Swift newsletter, which goes out once a month.

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 600 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.

Hacking with Swift is sponsored by Essential Developer

SPONSORED From March 20th to 26th, you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!

Click to save your free spot now

Sponsor Hacking with Swift and reach the world's largest Swift community!

Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS 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 a speaker at Swift events around the world. If you're curious you can learn more here.

Was this page useful? Let us know!

Average rating: 4.5/5

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.