Next.js is an 🏷️#open-source React framework, built and maintained by 📝Vercel, that provides server-side rendering, static generation, and routing without requiring a team to assemble that infrastructure itself.
It was first released in 2016, when server-rendering a React application meant hand-building a webpack configuration, a routing layer, a data-fetching convention, and a hydration strategy — and doing it again on every project. Next.js shipped those as defaults: file-system routing, automatic code splitting, image optimization, and API routes in the same codebase as the frontend. The value was never a capability nobody had; it was a set of decisions nobody had to relitigate.
Version 13 introduced the App Router in 2022, rebuilding the model around React Server Components. Components render on the server by default and client-side 📝JavaScript ships only where interactivity actually requires it. The transition has been contentious — two routing systems coexisting, a genuine conceptual shift in where code runs, and caching behavior widely reported as difficult to reason about.
It is the most widely used React meta-framework and the de facto reference implementation of React's server-first direction, which is also the standing critique of it: the framework's roadmap and React's own are tightly coupled, and both are shaped in part by a company that sells the hosting the framework runs best on.
