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.