- Pages router vs App router?
- App Router is the new default (Next.js 13+). Supports React Server Components, streaming, nested layouts. Pages Router is maintained but not the future.
- Server vs client components?
- Server Components are default — they render on the server, don't ship JS to the client. Add 'use client' when you need state, effects, or browser APIs.
- Data fetching?
- In server components: just `await fetch(...)` directly. Next.js deduplicates and caches automatically. Client components need SWR, React Query, or useEffect.
- Common gotchas?
- Forgetting 'use client' (causes hydration errors), caching surprises (fetch is cached by default), and the generateStaticParams requirement for dynamic routes.