SwiftUI for beginners: build and publish an iOS app

Learn Swift and SwiftUI from zero, store data with SwiftData, test your code and submit a finished app to TestFlight

7 ratings 1,870 students Sample

Created by Leila Haddad

  • Updated August 2026
  • English
  • Beginner

What you will learn

  • Write Swift code using optionals, structs, enums and closures with confidence
  • Build SwiftUI screens from views, stacks, lists and modifiers
  • Manage state with @State, @Binding and @Observable models
  • Navigate between screens with NavigationStack, links and sheets
  • Save and query data on the device with SwiftData
  • Archive, sign and upload a build to TestFlight

Course content

6 sections, 26 lessons, 4h 31m total

First steps with Swift and SwiftUI 5 lessons · 53 min
  • Video: Welcome to SwiftUI Preview 8 min
  • Article: Xcode, projects and previews Preview 12 min
  • Article: Swift basics: values, optionals and structs 15 min
  • Article: Stacks, lists and modifiers 13 min
  • Quiz: Check your understanding 5 min
State and data flow 4 lessons · 46 min
  • Video: @State for local view state 11 min
  • Video: @Binding to share state with child views 10 min
  • Video: Observable models with @Observable 13 min
  • Video: Forms and input controls 12 min
Navigation and presentation 4 lessons · 41 min
  • Video: NavigationStack and links 12 min
  • Video: Sheets, alerts and confirmation dialogs 10 min
  • Article: Tabs and app structure 9 min
  • Video: Search and swipe actions 10 min
Saving data with SwiftData 4 lessons · 47 min
  • Video: Turning structs into SwiftData models 13 min
  • Video: Querying and sorting with @Query 12 min
  • Video: Inserting, editing and deleting 11 min
  • Video: Photos with PhotosPicker 11 min
Polish, testing and accessibility 4 lessons · 41 min
  • Video: Charts for yearly totals 11 min
  • Video: Testing with Swift Testing 12 min
  • Video: Accessibility and Dynamic Type 10 min
  • Article: Dark mode, icons and launch screen 8 min
Publishing with TestFlight 5 lessons · 43 min
  • Article: Signing and bundle identifiers 9 min
  • Video: Archiving and uploading a build 11 min
  • Video: Inviting testers on TestFlight 9 min
  • Article: Preparing for App Store review 9 min
  • Quiz: Final check 5 min

Requirements

  • A Mac that can run the current version of Xcode
  • No programming experience required
  • An iPhone is helpful for testing but the simulator is enough

Description

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.

What you will learn

  • Swift basics: values, optionals, structs, enums, closures and async code
  • SwiftUI views, modifiers, stacks and lists
  • State with @State, @Binding and the @Observable macro
  • Navigation with NavigationStack and sheets
  • Persistence with SwiftData
  • Testing with the Swift Testing framework
  • Signing, archiving and uploading to TestFlight

How the course works

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

Who this course is for

  • Complete beginners who want to build apps for iPhone
  • Developers from other platforms learning Swift and SwiftUI
  • Designers who want to prototype real iOS interfaces

Instructor

Leila Haddad

iOS and backend engineer teaching SwiftUI apps and the Go services behind them

  • 4.4 instructor rating
  • 14 reviews
  • 3,450 students
  • 2 courses
  • Sample

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.

View profile

Student reviews

4.4 7 ratings
5 star 57%
4 star 29%
3 star 14%
2 star 0%
1 star 0%
Tomasz J. Sep 26, 2026
Sample

My hiking app is real now

I actually use Trails for my weekend walks. Adding photos with PhotosPicker was easier than I expected.

Emma W. Sep 9, 2026
Sample

Perfect for total beginners

I had never coded before. The Swift basics lesson was patient, and by section four I was building screens on my own.

Rahul S. Aug 11, 2026
Sample

SwiftData explained clearly

The difference between structs for sample data and model classes was explained better here than anywhere else.

Marco B. Aug 1, 2026
Sample

Previews changed how I work

Using multiple previews for dark mode and large text was a small tip that improved all my screens.

Zeynep O. Jun 22, 2026
Sample

Calm and well structured

Leila's recaps at the end of each section helped a lot. The TestFlight part needed a paid account, which is expected.

Grace L. May 10, 2026
Sample

Good testing section

Nice to see Swift Testing covered for beginners. I would like one more lesson on navigation paths.

Laila M. Feb 23, 2026
Sample

Slow at the start for me

I already knew some programming so the first Swift lessons felt slow. Later sections were very good.

$54.99 Enroll now
SampleSample catalog: the instructors, courses, reviews and stats on this site are demo content.