Welcome to the 100 Days of SwiftUI! This is a free collection of videos, tutorials, tests, and more, all drawn from around my work here on Hacking with Swift, and all designed to help you learn SwiftUI effectively.
IMPORTANT: From September 22nd I’ll start the process of checking and updating the 100 Days of SwiftUI for iOS 17. Updated days will be rolled out in stages so folks following the existing curriculum won’t find things suddenly change. If you are currently following the 100 Days and have made it past day 15, I would recommend continuing. Otherwise, I would suggest pausing until the new days arrive, then following those.
It’s aimed squarely at beginners who want to learn to build real iOS apps, but struggle to find a good, free course that can help them achieve their goals. If that’s you, welcome – I hope you’re ready to show the iOS world what you’re made of!
If you’re looking for my original 100 Days of Swift, click here – 100 Days of SwiftUI and 100 Days of Swift both teach you to build apps with Swift, but this one focuses on SwiftUI whereas the other teaches UIKit, SpriteKit, and more. If you’re not sure which to choose, stay here with SwiftUI.
PS: If you have questions, ask me – I’m here to help!
If you want to make a success of this course, there are only two rules:
I’ll be providing all the material you need to follow along, so all you need to do is show up ready to learn. I’ve even provided a “Tweet” button at the end of every day, which composes a tweet for you saying you completed the day, and includes the hashtag to help others find you, a celebratory graphic, and a link for others to find out more – use it!
I’ve tried to make sure it takes less than one hour to complete each day, but there is a little natural variation. For example, day 4 is a little shorter because it has less ground to cover, and day 13 is a little longer because it has a few complex topics inside.
I’ve met so many who have tried and failed to learn Swift, often multiple times, and if you’re here there’s a good chance you’ve already had a few false starts already.
Not this time. This time you’re going to learn it for real, and in just 100 days you’ll have built many full apps that you can be proud of.
You’ve already read the two rules of these 100 days, but to maximize your chance of rocking this course I have a few tips:
This introductory day prepares you for the course, explains core concepts, and helps you avoid the most common mistakes faced by other learners.
The first 14 days provide a gentle warm up for your SwiftUI learning as we cover the fundamentals of the Swift programming language. You’ll work through a selection of tutorials every day, and there is some optional extra reading afterwards if you’d like to dig deeper.
Regardless of whether or not you go over the optional extra reading, you’ll find lots of short short tests – I recommend you take them to really solidify what you’ve learned.
You just learned a lot about Swift in only 14 days, so before we continue it's important you reflect on what you've learned.
Now that you’ve mastered the basics of Swift, in these days you’ll start building real SwiftUI apps using what you learned.
In the last few days we covered some of the fundamentals of iOS development, and before we move on to the next set of projects it’s important to take a step back and review what you’ve learned.
In these next three projects we’re going to develop your SwiftUI skills in new directions, while also giving you chance to practice the fundamentals.
Now that your SwiftUI skills are starting to solidify, it’s time to review all the new things we’ve covered and get busy with another project all of your own.
Your core SwiftUI skills are strong, so it’s time to push past the basics and start building bigger apps.
You’ve tackled some heavyweight skills now, so before we move on it’s time to review what has been covered, go into detail on a handful of topics, and face a fresh challenge.
In these projects we’re going to start looking more carefully at how we can send, retrieve, and store data in our SwiftUI apps.
You’ve learned about data, data, and some more data, so it’s time to pause and reflect on what was covered before tackling another new challenge.
In these projects the difficulty starts to ramp up as we look at how you integrate code from frameworks outside of SwiftUI, including UIKit and MapKit.
You’ve had a difficult couple of projects as we tackled various parts of UIKit and SwiftUI integration, so let’s pause and review what was learned.
In these projects we build our biggest apps yet, while also exploring more ways to let the user interact with our apps: tab bars, gestures, haptics, and more.
As we approach the end of our 100 days it’s time to pause and reflect on the massive projects we’ve built, then take on a fresh app building challenge.
In this final project we cover some last tips and techniques to help you build great apps, including how to optimize for iPad.
It’s time to see how much you remember from across the entire curriculum. Are you ready for this?
SPONSORED Let’s face it, SwiftUI previews are limited, slow, and painful. Judo takes a different approach to building visually—think Interface Builder for SwiftUI. Build your interface in a completely visual canvas, then drag and drop into your Xcode project and wire up button clicks to custom code. Download the Mac App and start your free trial today!
Link copied to your pasteboard.