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.