SwiftUI Essential Training
6h 9mIntermediate2023-01-25
Authors

Steven Lipton
VP of Special Projects at Scientific Device Laboratory, Developer
Course details
SwiftUI is becoming the primary user interface development framework for all Apple development. This UI tool kit provides layout structures, controls, and views that allow you to build user interfaces for the Mac, iPhone, iPad, Apple Watch, and Apple TV—all from the same code. If you're curious how SwiftUI differs from UIKit and AppKit—or just want to get started with this powerful new tool kit—then this course is for you. Learn how you can make eye-catching user interfaces in just a few lines of code with instructor Steven Lipton. Steven teaches layout techniques for rapid development with buttons, pickers, images, and more. He demonstrates how to work with collection views, add navigation, and animate interactions. To lend these concepts a real-world context, he shows you how to build a reactive user interface for a pizza restaurant ordering app, building the app as you progress through the course.
Skills covered
XcodeSwiftiOSUX DesignAppleUser ExperienceEssential TrainingWeb Development
Concepts
0. Introduction
- 01 - Blowing minds in the Apple ecosystem with SwiftUI
- 02 - What you should know
- 03 - A word about Swift Playgrounds 4
1. SwiftUI and Xcode Basic Concepts
- 04 - Swift review - Conditional operators and arrays
- 05 - Start a new SwiftUI project for iOS
- 06 - The code window and canvas
- 07 - Modifiers in canvas and code
- 08 - ContentView previews
2. Making Views
- 09 - Embed a Stack view
- 10 - Text views
- 11 - Image views with SF symbols
- 12 - Iteration with ForEach
- 13 - Images and assets
- 14 - Labels
- 15 - Add view
- 16 - Challenge - Add views
- 17 - Solution - Add views
- 18 - Extract subviews
- 19 - Subviews with parameters
- 20 - Challenge - Ratings view
- 21 - Solution - Ratings view
3. Modifiers
- 22 - Presenting views
- 23 - Space modifiers
- 24 - Shape modifiers
- 25 - Text modifiers
- 26 - Color modifiers
- 27 - Basic backgrounds
- 28 - Materials and shadows
- 29 - Scale modifiers
- 30 - Size modifiers
- 31 - Clean-up joined views
- 32 - Challenge - Clean up OrderView
- 33 - Solution - Clean up OrderView
4. Models and Data
- 34 - MVC versus MVVM
- 35 - State variables and buttons
- 36 - Challenge - Add a button
- 37 - Solution - Add a button
- 38 - Use binding variables
- 39 - The Identifiable protocol
- 40 - Add a model to root views
- 41 - Populating collections with List
- 42 - Selection and binding variables
5. Dynamic Models
- 43 - Create observable objects in models
- 44 - Use ObservedObject in views
- 45 - Environment variables
- 46 - System environment variables
- 47 - Challenge - Add StatusBarView
- 48 - Solution - Add StatusBarView
6. Interaction
- 49 - Toggles and steppers
- 50 - Pickers
- 51 - Moving data in pickers
- 52 - Text input
- 53 - Lazy grids
- 54 - Tap gestures
- 55 - Challenge - Favorites grid
- 56 - Solution - Favorites grid
- 57 - Animation
- 58 - Matched geometry
- 59 - Challenge - Replace MenuView
- 60 - Solution - Replace MenuVIew
7. Navigation
- 61 - Alerts
- 62 - Presenting sheets
- 63 - Tab bars
- 64 - Stack navigation
- 65 - Two-column navigation split view
- 66 - Three-column navigation split view
- 67 - List interaction
- 68 - Challenge - Debugging
- 69 - Solution - Debugging
8. Integration
- 70 - SwiftUI to storyboards
- 71 - Add UIViewControllers
- 72 - Size classes and landscape
Conclusion
- 73 - Next steps