Next.js is a React framework that adds server-side capabilities — routing, server rendering, API routes, caching, and build optimization — on top of React. You write React components, Next.js decides where and how they run.
Two routers exist. Pages Router (old, stable, still widely used) lives in /pages. App Router (new, current standard) lives in /app. Both can coexist during migration. This sheet focuses on App Router (Next.js 13+) since that's what interviews and new projects use.
The biggest mental shift from plain React: components run on the server by default. Not all your code runs in the browser. This changes how you think about data fetching, state, and what APIs are available where.