Want to learn SwiftUI? Start here.
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.
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.
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:
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.
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.
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.
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!
SPONSORED Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. Instabug takes data privacy seriously, so no one sees your data but you! See more detailed features comparison and try Instabug's crash reporting SDK for free.
The biggest ever Hacking with Swift sale is now on, letting you save 50% on all books and bundles. Learn something new with Swift and enjoy great savings while the sale lasts!
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.