Next.js 10,514 is not the only way to build a React 7,897 application, and on a fair number of projects it is not the best way. React has no opinion about routing, data loading, bundling or servers, so every React project either adopts a framework that supplies those answers or assembles them by hand. The five choices worth considering in September 2026 are plain React with Vite 8.3.0 25,978 , React Router 8.4.0 139,386 in framework mode, Astro 7.3.3 17,728 , TanStack Start 79,069 (1.168.57 on npm 2,036 , still a release candidate) and Next.js 16.3.5. All five are MIT licensed.
The decision that actually matters is whether a server has to produce HTML for the first request, and if so, who runs that server. Everything else — file conventions, typed routes, deployment adapters — follows from that one answer. The figure below places the five options on that axis.

React.js covered React itself and Routing with React Router its client-side routing, so neither is repeated here. This is about the surrounding machinery: what each framework builds, what it makes you run, and what it costs to leave.