The Essential Swift Concurrency Course for a Seamless Swift 6 Migration
This is not our official landing page, that on you can find here.
If you're already a student, you can use the button below to login.
Course Content
Introduction to Swift Concurrency
Available in
days
days
after you enroll
Async/Await Basics
Available in
days
days
after you enroll
Tasks
Available in
days
days
after you enroll
- Introduction to tasks in Swift Concurrency
- Task cancellation
- Error handling in Tasks
- Detached Tasks
- Task Groups
- Discarding Task Groups
- The difference between structured and unstructured tasks
- Managing Task priorities
- Task.yield() vs. Task.sleep()
- Task local storage using @TaskLocal
- Running tasks in SwiftUI
- Creating a Task timeout handler using a Task Group (advanced)
- Limiting the number of tasks running in a Task Group (advanced)
- Assessment
Sendable
Available in
days
days
after you enroll
- Explaining the concept of Sendable in Swift
- Understanding Data Races vs. Race Conditions: Key Differences Explained
- Conforming your code to the Sendable protocol
- Sendable and Value Types
- Sendable and Reference Types
- Using @Sendable with closures
- Using @unchecked Sendable
- Understanding region-based isolation and the sending keyword
- Concurrency-safe global variables
- Combining Sendable with custom Locks
- Assessment
Actors
Available in
days
days
after you enroll
- Understanding actors in Swift Concurrency
- An introduction to Global Actors
- When and how to use @MainActor
- Isolated vs. non-isolated access in actors
- Using Isolated synchronous deinit
- Adding isolated conformance to protocols
- Understanding actor reentrancy
- Inheritance of actor isolation using the #isolation macro
- Using a custom actor executor
- Using a Mutex as an alternative to actors
- Assessment
AsyncStream and AsyncSequences
Available in
days
days
after you enroll
Threading
Available in
days
days
after you enroll
Memory Management
Available in
days
days
after you enroll
Core Data
Available in
days
days
after you enroll
Performance
Available in
days
days
after you enroll
Testing Concurrent Code
Available in
days
days
after you enroll
Migrating existing code to Swift Concurrency & Swift 6
Available in
days
days
after you enroll
- Challenges in migrating to Swift Concurrency
- The impact of Swift 6 on Swift Concurrency
- The six migration habits for a successful migration
- Steps to migrate existing code to Swift 6 and Strict Concurrency Checking
- The Approachable Concurrency build setting (Updated for Swift 6.2) (27:26)
- Migration tooling for upcoming Swift features (9:21)
- Techniques for rewriting closures to async/await syntax
- How and when to use @preconcurrency
- Migrating away from Functional Reactive Programming like RxSwift or Combine
- Migrating to concurrency-safe notifications
- Using Agent Skills for Swift Concurrency
- Frequently Asked Questions (FAQ) around Swift 6 Migrations
- Assessment
Completion & Certification
Available in
days
days
after you enroll