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.
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.
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.