SwiftUI Essential Training

SwiftUI Essential Training

6h 9mIntermediate2023-01-25

Authors

Steven Lipton

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

Introduction

  • Blowing minds in the Apple ecosystem with SwiftUI
  • What you should know
  • A word about Swift Playgrounds 4

SwiftUI and Xcode Basic Concepts

  • Swift review - Conditional operators and arrays
  • Start a new SwiftUI project for iOS
  • The code window and canvas
  • Modifiers in canvas and code
  • ContentView previews

Making Views

  • Embed a Stack view
  • Text views
  • Image views with SF symbols
  • Iteration with ForEach
  • Images and assets
  • Labels
  • Add view
  • Challenge - Add views
  • Solution - Add views
  • Extract subviews
  • Subviews with parameters
  • Challenge - Ratings view
  • Solution - Ratings view

Modifiers

  • Presenting views
  • Space modifiers
  • Shape modifiers
  • Text modifiers
  • Color modifiers
  • Basic backgrounds
  • Materials and shadows
  • Scale modifiers
  • Size modifiers
  • Clean-up joined views
  • Challenge - Clean up OrderView
  • Solution - Clean up OrderView

Models and Data

  • MVC versus MVVM
  • State variables and buttons
  • Challenge - Add a button
  • Solution - Add a button
  • Use binding variables
  • The Identifiable protocol
  • Add a model to root views
  • Populating collections with List
  • Selection and binding variables

Dynamic Models

  • Create observable objects in models
  • Use ObservedObject in views
  • Environment variables
  • System environment variables
  • Challenge - Add StatusBarView
  • Solution - Add StatusBarView

Interaction

  • Toggles and steppers
  • Pickers
  • Moving data in pickers
  • Text input
  • Lazy grids
  • Tap gestures
  • Challenge - Favorites grid
  • Solution - Favorites grid
  • Animation
  • Matched geometry
  • Challenge - Replace MenuView
  • Solution - Replace MenuVIew

Navigation

  • Alerts
  • Presenting sheets
  • Tab bars
  • Stack navigation
  • Two-column navigation split view
  • Three-column navigation split view
  • List interaction
  • Challenge - Debugging
  • Solution - Debugging

Integration

  • SwiftUI to storyboards
  • Add UIViewControllers
  • Size classes and landscape

Conclusion

  • Next steps
120,000 Toman