SwiftUI Fundamentals

Dec 1 2020 · Video Course (1 hr, 24 mins) · Beginner

Get an introduction to building iOS user interfaces with SwiftUI! Learn about SwiftUI Views, modifiers, essential layout tools, navigation, data flow, and previews.


  • Swift 5.3, iOS 14, Xcode 12

SwiftUI Views


2:52 Free

In this introductory episode, find out a bit about SwiftUI in general, and what you can learn from this course.


The View Protocol

5:48 Free

The View protocol is the foundational building block of SwiftUI. Get a SwiftUI app running, and try out some of SwiftUI's basic components, built on View.




Modifiers can change the appearance and functionality of your SwiftUI views. Find out how they work, and how to chain them together.


In your first hands-on challenge, practice everything you've learned about views and modifiers, and try out a few new SwiftUI controls.


Take a deep-dive into what's going on with the state attribute and how it operates under the hood when binding to your components.


Take a deep-dive into what's going on with the state attribute and how it operates under the hood when binding to your components.


Learn how to control the layout of multiple views by grouping them together with HStacks and VStacks.


ForEach & Lists make it a breeze when iterating over a collection of data to produce similar SwiftUI Views. All you need is a unique ID for each element.


Test your understanding of layout with stacks, and your command of ForEach, in this hands-on challenge.


Navigation & Data Flow

Take in a high-level overview of navigation and data flow in SwiftUI, and find out what you'll learn in this part of the course.




Navigating from one part of your app to another has never been easier thanks the Navigation component. Here you'll get started with moving around your apps.


There's more than one way to present a view with SwiftUI! Learn how to use a new kind of modifier to present different types of modal views.


In this hands-on challenge, practice everything you have learned about navigation and state in a SwiftUI app.


@State only works with value types, but it does have a companion specifically for reference types: @StateObject.


Combine makes it easy to take an object, observe changes to its properties, and react to those changes, in SwiftUI.


An environment is a storage container for potentially any information that multiple views need to function.




In the conclusion to this course, review what you've learned and find out where you can go to learn more about making apps with SwiftUI.


Version history

iOS 15, Swift 5.5, Xcode 13

Mar 24 2022

iOS 14, Swift 5.3, Xcode 12 (Selected)

Dec 1 2020

Who is this for?

This course will be most helpful for beginner to intermediate iOS developers who are familiar with Swift and have some experience in iOS development.

For students who have finished the iOS and SwiftUI for Beginners learning path, this course can help you review SwiftUI concepts at a faster pace before you move on to more advanced SwiftUI topics.

Covered concepts

  • SwiftUI View protocol
  • Common SwiftUI controls
  • Previews
  • SwiftUI Layout with Stacks
  • ScrollView
  • ForEach & List
  • NavigationView
  • Sheet & Popover
  • Property wrappers
  • View builders
  • SwiftUI Environment
  • SwiftUI Bindings
  • Combine: Published and Observable Objects