Most apps need data from somewhere else: a weather service, a movie database, your own backend. This module shows how to fetch that data over the network, turn it into Swift types, and do it all without freezing your interface.
You'll make requests with URLSession and decode JSON responses into your own models. Then you'll learn the concurrency tools that make this safe and readable: async/await, Tasks, and actors, including how to update the UI from the main thread correctly.
Some lessons are clips cut from a longer course, and the clips show the code evolving from older patterns to async/await, so you'll see why the modern approach is cleaner. When you're ready, continue on to Persistence & Device Features.
Download data from an API with a network call and decode the JSON into Swift types using async/await.
Fetch data from an API, parse the JSON, and show it in a SwiftUI interface.
Create a network manager that fetches data from an API for your app.
Refactor your network calls to use async/await for cleaner, easier-to-read code.
Learn async/await, Task, and @MainActor by building an image grid that loads many photos at once.
A second walkthrough of async/await, actors, and tasks to reinforce the core ideas.