Navigation is what users touch the most. A bad choice kills an app, a good one makes it invisible.
Three primitives
Stack, Tabs, Drawer. Tabs + per-tab Stack is the most common pattern.
Key patterns
- Modal for primary action.
- Deep linking addressable per screen.
- Separate auth flow replaced (not pushed) after login.
Anti-patterns
Drawer as main nav, 6+ tabs, deep stacks without shortcut, inconsistent back on Android.