SwiftUI Navigation: Tabs & Alerts, Part 1

Episode #160 • Sep 20, 2021 • Subscriber-Only

Navigation is a really, really complex topic, and it’s going to take us many episodes go deep into it. We will begin our journey by coming up with a precise definition of what “navigation” is, and by exploring a couple simpler forms of navigation.

Tabs & Alerts, Part 1
What is navigation?
Tab views
Alerts and Action Sheets
Next time: Modeling optional navigation

Unlock This Episode

Our Free plan includes 1 subscriber-only episode of your choice, plus weekly updates from our newsletter.


Today we are going to begin a long series of episodes that will dive deep into navigation concepts from first principles. We’ve been working on this series off and on for nearly a year, and we’re finally ready to tackle it.

We will be using SwiftUI as the primary tool to uncover the true essence of what navigation really is, but the concepts we discover will be just as applicable to UIKit or really any UI application no matter what language, framework or operating system used.

Navigation is a really, really complex topic. It doesn’t have a concise definition, it permeates nearly every part of our applications, some might even say it infects our applications, and it really strains our ability to build pieces of an application in small, reusable and isolated components.

This initial series of episodes will be primarily focused on vanilla SwiftUI. We want to understand navigation from the perspective of what tools Apple gives us out of the box. Once we do complete this deep dive into SwiftUI navigation we will be in a much better position to develop tools for navigation in the Composable Architecture, which will be a future series of episodes.

This episode is for subscribers only.

Subscribe to Point-Free

Access this episode, plus all past and future episodes when you become a subscriber.

See plans and pricing

Already a subscriber? Log in


SwiftUI Navigation

Brandon Williams & Stephen Celis • Tuesday Nov 16, 2021

After 9 episodes exploring SwiftUI navigation from the ground up, we open sourced a library with all new tools for making SwiftUI navigation simpler, more ergonomic and more precise.

Collection: Derived Behavior

Brandon Williams & Stephen Celis • Monday May 17, 2021

The ability to break down applications into small domains that are understandable in isolation is a universal problem, and yet there is no default story for doing so in SwiftUI. We explore the problem space and solutions, in both vanilla SwiftUI and the Composable Architecture.