SwiftUI Fundamentals
An introduction to building iOS user interfaces with SwiftUI! Learn about SwiftUI Views and modifiers, common SwiftUI controls, fundamental layout tools, navigation and data flow, and how to make the most of SwiftUI previews. By Josh Steele.
Learning path
This is part of the iOS User Interfaces with SwiftUI learning path. View path.
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
- NavigationStack
- Sheet & Popover
- Property wrappers
- View builders
- SwiftUI Environment
- SwiftUI Bindings
- Combine: Published and Observable Objects
Part 1: SwiftUI Views
In this introductory episode, find out a bit about SwiftUI in general and what you can learn from this course.
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.
Part 2: 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 NavigationView component. Here you’ll get started with moving around your apps.
NavigationStacks supercharge your app’s navigation abilities, allowing you to navigate to different views for different selected data types.
In this episode, you will learn how to present data in a modal view, which displays on top of your existing on screen view.
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.
In this hands-on challenge, practice everything you have learned about @StateObject and @ObservableObject, including which one to use for a given circumstance!
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.