UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Learn SwiftUI with free tutorials

Want to learn SwiftUI? Start here.

Paul Hudson       @twostraws

SwiftUI was announced during the keynote at WWDC19, and already there are a huge number of free tutorials as articles, YouTube videos, books, and more – it’s safe to say that folks are really excited, and are keen to share that excitement with the world.

I’ve created a wide range of SwiftUI tutorials myself, but I’ve also been reading tutorials from many other developers. In this article I’ve brought together tutorials from a variety of folks, because everyone learns differently – hopefully you’ll find a tutorial that teaches SwiftUI in a way that works great for you.

Hacking with Swift is sponsored by Proxyman

SPONSORED Proxyman: A high-performance, native macOS app for developers to easily capture, inspect, and manipulate HTTP/HTTPS traffic. The ultimate tool for debugging network traffic, supporting both iOS and Android simulators and physical devices.

Start for free

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

The 100 Days of SwiftUI

If you're new to app development, the fastest and easiest way to learn SwiftUI is using my free online course the 100 Days of SwiftUI. Each day guides you through new Swift and SwiftUI techniques to help you build real-world projects, and there are lots of interactive tests to check your knowledge and challenges to help you push your skills further.

Each project is available as an article or as a series of videos, so you can read or watch depending on which you prefer. Best of all, the whole thing is free online – just click here to get started.

SwiftUI By Example

I switched across to SwiftUI the day it was announced, and if you were following my many tweets on the topic you’ll know I really fell in love with it.

Shortly after SwiftUI was announced I published an article called Get started with SwiftUI, which outlines the basics of creating views, stacks, lists, and more.

Since then, I’ve produced a huge amount of SwiftUI example code and videos:

SwiftUI By Example is now well over 400 pages, and includes a complete project tutorial at the beginning to help you get started building a real app, plus video.

More recently I’ve been working on new videos that create full apps in SwiftUI so that folks can see concepts in action rather than as isolated examples. For example:

These videos aren’t long, but still give enough room to really show the power and conciseness of SwiftUI. Here’s an example to get you started:

Get started with SwiftUI

There are lots of folks writing tutorials aimed at helping you get started with SwiftUI. They offer a variety of difficulty levels in terms of how they structure their content – they are all aimed at help you get started, but some are easier than others.

Of course, I should start this list by saying that Apple’s own SwiftUI tutorials are good – lots of code, lots of screenshots, and even some quiz questions to help test your learning. I'm hopeful these new interactive style of tutorials herald a new direction for Apple, as they go beyond simple API documentation and example code to try to help folks actually internalize what was covered.

Warning: While I've updated all my articles for the latest version of SwiftUI, most other people don't do that so you might find some of the links below are no longer quite as useful as they were when they were written.

 

For absolute beginners

  • Santosh Botre provides some example code for various SwiftUI components.
  • Sai Kambampati has a tutorial on building a great-looking list app with cropping and shadowing.
  • Martin Lasek wrote a relaxed introduction with lots of screenshots and space to experiment.
  • John Sundell wrote a beginner tutorial that walks you through the basics of various SwiftUI components.

 

Going further

  • Mischa Hildebrand wrote a tutorial that focuses on one specific part of the Swift syntax behind SwiftUI: the some keyword.
  • Majid Jabrayilov wrote a tutorial that walks you through building an app for searching GitHub repos.
  • Rohan Panchal wrote a tutorial that approaches SwiftUI from the perspective of React Native.
  • Benedikt Terhechte wrote a piece that explores SwiftUI from the perspective of a game engine, diving straight into stacks and state.
  • The SwiftUI Lab posts a range of articles about more advanced topics, such as layout guides, geometry, and more.

Videos

We have a huge variety of video creators in the Swift community, and it’s great to see them all so excited about SwiftUI!

Here’s a selection of the many SwiftUI videos that are already available:

New videos are appearing daily covering ever more topics, so you might want to subscribe to some of those channels if you want regular updates.

General discussion

There have been no end of hot takes on SwiftUI, but a handful of particularly experienced folks have taken the time to write a more considered view from a variety of perspectives.

In particular, I enjoyed these:

Even though almost everyone is positive about SwiftUI, it’s worth adding a little skepticism too – see A Skeptics view on SwiftUI by Jille van der Weerd.

Where now?

Sites like About SwiftUI by Juanpe Catalán and Awesome SwiftUI by Yogesh Singh are popping up as a way to help us all keep track of the many resources available for SwiftUI – if you’re thirsty for more SwiftUI you should start there.

Ultimately, though, we’re still in the early days of SwiftUI, and it will be a year or two before it comes close to parity with UIKit. In the meantime, what are your favorite resources for learning SwiftUI? Let me know and I’ll expand this list – @twostraws send me a tweet!

Hacking with Swift is sponsored by Proxyman

SPONSORED Proxyman: A high-performance, native macOS app for developers to easily capture, inspect, and manipulate HTTP/HTTPS traffic. The ultimate tool for debugging network traffic, supporting both iOS and Android simulators and physical devices.

Start for free

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

BUY OUR BOOKS
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

Was this page useful? Let us know!

Average rating: 4.8/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.