My hiking app is real now
I actually use Trails for my weekend walks. Adding photos with PhotosPicker was easier than I expected.
Browse
Learn Swift and SwiftUI from zero, store data with SwiftData, test your code and submit a finished app to TestFlight
Created by Leila Haddad
SwiftUI is Apple's modern way to build interfaces for iPhone, iPad, Mac and Apple Watch. You describe what the screen should look like for a given state, and the framework keeps the screen in sync when the state changes. Combined with Swift, a safe and readable language, it is a good first platform for anyone who wants to build apps for Apple devices.
In this course you build Trails, a personal hiking journal. You can log hikes with distance, notes and photos, browse them in a list, see totals and search. The data is stored on the device with SwiftData.
@State, @Binding and the @Observable macroNavigationStack and sheetsEvery lesson is done in Xcode with live previews, so you see each change immediately. We start with one screen and grow the app step by step. You do not need any programming background, but you do need a Mac that can run a current version of Xcode.
By the end you will understand the code you wrote, not just have copied it, and you will have an app running on your own iPhone.
iOS and backend engineer teaching SwiftUI apps and the Go services behind them
I work on both ends of mobile products: the iOS app in Swift and SwiftUI, and the backend services, which I usually write in Go. Seeing both sides has made me picky about clean APIs, clear error handling and code that a teammate can read a year later.
My courses are calm and structured. We start with the smallest working version, then add one concept at a time, with a short recap at the end of every section.
When I am not building, I contribute small fixes to open source Go libraries and help run a local meetup for mobile developers.
I actually use Trails for my weekend walks. Adding photos with PhotosPicker was easier than I expected.
I had never coded before. The Swift basics lesson was patient, and by section four I was building screens on my own.
The difference between structs for sample data and model classes was explained better here than anywhere else.
Using multiple previews for dark mode and large text was a small tip that improved all my screens.
Leila's recaps at the end of each section helped a lot. The TestFlight part needed a paid account, which is expected.
Nice to see Swift Testing covered for beginners. I would like one more lesson on navigation paths.
I already knew some programming so the first Swift lessons felt slow. Later sections were very good.