Navigation gives users what they need to get around an app quickly, moving from screen to screen with confidence and ease. This may include menus, tappable icons, buttons, tabs, and list items, as well as many types of gesture-sensitive screens to display data, information, and options to the user. There are industry-standard ways of doing this called navigation patterns. Each of those patterns provides a template for UI appearance and interaction. These patterns can be combined and stacked and connected like Legos to form the skeleton of an entire app. Once we have a user moving between screens, there is then the consideration of state, or how data is passed back and forth between pages. In this chapter we’ll delve into navigation patterns and their ways to manage navigation state.