Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Practical Swift Concurrency - The Video Course
Introduction
About this course (2:05)
Download the course materials
Setting up your environment (2:32)
Exploring the sample app (4:41)
An Introduction to async / await
Understanding async programming pre-async/await (9:32)
Calling an async function in Swift (8:01)
Writing an async function in Swift (2:41)
Exploring Tasks in Swift Concurrency (15:32)
Assignment: Writing your first async function (3:08)
Solution: Writing your first async function (15:07)
Refactoring existing code to work with async / await
Understanding the complexities of refactoring (5:52)
Bridging callback based code with continuations (3:08)
Understanding different types of continuations (9:48)
Bridging Combine code with async sequences (18:04)
Diving deeper into async sequences with AsyncStream (26:30)
Assignment: Bridging your first function (2:09)
Solution: Bridging your first function (4:32)
Synchronizing access with actors
Understanding data races (7:40)
Solving data races with actors (5:34)
Understanding Actor Reentrancy (13:32)
Exploring the main actor (13:32)
Understanding Sendable (17:14)
Assignment: Building a token refresh flow (2:26)
Solution: Building a token refresh flow (7:10)
Bonus: Building an async image loader from scratch (14:57)
Testing your async code
Section Introduction (1:28)
Understanding async tests pre-Swift Concurrency (5:04)
Awaiting test results (3:59)
Testing and async sequences (7:05)
Understanding why it's hard to test race conditions (11:08)
Orchestrating tasks with async / await
Section introduction (1:17)
Understanding structured concurrency (4:06)
Exploring Task Groups (14:22)
Understanding async let (7:42)
Assignment: Writing a data importer (2:52)
Solution: Writing a data importer (9:18)
Thank you! (1:19)
Teach online with
Understanding the complexities of refactoring
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock