Overview
Next.js is a React framework maintained by Vercel and developed in the open since 2016. The App Router builds on React Server Components: pages and layouts render on the server by default, client components opt in with "use client", and server functions handle mutations. Next.js 16 (October 2025) made Turbopack the default bundler, replaced middleware.ts with proxy.ts on the Node.js runtime, and introduced Cache Components, an opt-in caching model built on the "use cache" directive and partial prerendering.
Deployment is more open than it used to be. The official docs list four options: a Node.js server and a Docker container support all features, a static export supports a limited subset, and adapters vary by platform. Next.js 16.2 (March 2026) shipped a stable, versioned Deployment Adapter API with a shared test suite; the Vercel and Bun adapters are verified, while Netlify, Cloudflare and AWS (through OpenNext) adapters were still in development at the time of writing.
Before choosing it, budget time for its moving parts: caching, server and client boundaries, and upgrades between majors that include breaking changes (async params, next/image defaults in 16). React Server Components also carry server-side security exposure, as the December 2025 critical RSC vulnerability showed.
Pricing and plans
What it does
- App Router and Server Components
- File-system routing with nested layouts; components render on the server by default and stream to the browser.
- Cache Components
- Opt-in caching with the "use cache" directive, building on partial prerendering so static shells and dynamic parts share a page.
- Turbopack
- Rust-based bundler, default since Next.js 16 for development and production builds.
- Deployment Adapter API
- Stable since 16.2: a typed description of routes, prerenders and assets that hosting platforms consume; verified adapters must pass the Next.js test suite.
- Static export
- output: "export" emits plain HTML, CSS and JS for any static host, without server-only features.
- Standalone output
- output: "standalone" produces a minimal server bundle for Docker images.
Strengths and limitations
Strengths
- Largest React framework ecosystem: examples, templates, hosting guides and hiring pool.
- Every feature works on a plain Node.js server or Docker container, per the official deployment docs.
- Stable adapter API and public test suite give non-Vercel hosts a documented contract since March 2026.
- Mixes static, cached and dynamic rendering per route and even within one page.
Limitations
- Static export does not support features that need a server (the docs list it as limited support).
- Adapters for Netlify, Cloudflare and AWS were not yet verified at the time of writing; those platforms use their own integrations meanwhile.
- Major versions carry breaking changes; Next.js 16 made route params async and changed next/image defaults.
- React-only, and the Server Components model adds a server attack surface (critical RSC vulnerability CVE-2025-55182, December 2025).
- middleware.ts is deprecated in favour of proxy.ts, which runs on the Node.js runtime.
Who it suits
Good for
- React teams building full-stack web apps
- Marketing sites mixing static and dynamic pages
- Companies that want a large hiring pool and ecosystem
Look elsewhere if
- Mostly static content sites where Astro or Eleventy ship less JavaScript
- Teams that want a small, stable API surface with few concepts to learn
Pricing history
-
Stable Deployment Adapter API in Next.js 16.2
Announced 25 March 2026: a typed, versioned build output and shared test suite for hosting platforms; Vercel and Bun adapters are verified, with Netlify, Cloudflare and AWS (OpenNext) adapters in development. Source ↗
-
Next.js 16: Turbopack default, proxy.ts, Cache Components
Released 22 October 2025 (UTC): Turbopack became the default bundler, middleware.ts was deprecated in favour of proxy.ts on the Node.js runtime, Cache Components introduced opt-in caching, and breaking changes such as async params landed. Source ↗
Alternatives to Next.js
Questions
Can I self-host Next.js without Vercel?
Yes. The official docs say a Node.js server or Docker container supports all Next.js features; run next build and next start, or use standalone output in a container.
What changed in Next.js 16?
Turbopack became the default bundler, Cache Components introduced opt-in caching with "use cache", proxy.ts replaced middleware.ts, and several breaking changes landed, such as async params.
What is the Next.js Adapter API?
A stable, versioned build output (since 16.2, March 2026) that hosting platforms read to deploy Next.js; verified adapters are open source and pass the shared Next.js test suite.
Does Next.js support static sites?
Yes, with output: "export", but features that need a server, such as on-demand rendering and server actions, are not available in a static export.
Sources read for this page