Frameworks and Toolchains

Frameworks and Other Toolchains

Vite 25,978 gives you a bundler and nothing else. The moment an application needs routes, data loading or server rendering, you either assemble those yourself or start from a framework that already made the decisions. The React 7,897 documentation now recommends the second path for most new applications.

Ways to start a React project, and the command that scaffolds each one
Starter Command What you get Reach for it when
Vite npm 2,036  create vite@latest Bundler and dev server The app is one page
Next.js 10,514 npx create-next-app@latest Routes, SSR, server components Content or commerce
React Router 139,386 npx create-react-router@latest Routes, loaders, actions, SSR Data-heavy dashboards
Expo 6,418 npx create-expo-app@latest Android, iOS and web One codebase, three targets
Parcel 195,638 npm install -D parcel Zero-config bundler You want no config file
Rsbuild npm create rsbuild@latest Rspack-based bundler Migrating from webpack 3,824

Next.js and React Router in framework mode are the two you will meet most often in job postings, and they are closer than their marketing suggests: both render on the server and both colocate data loading with routes. Next.js covers Next.js; Routing with React Router and Data Routers cover React Router, including the framework mode.

One name is missing on purpose. Create React App 190,986 , for a decade the default answer to "how do I start a React project", was sunset on 14 February 2025; it is unmaintained and never gained routing or data fetching. If you inherit a CRA project, plan a migration to Vite: the source usually moves unchanged, and the work is in index.html, environment variable prefixes (REACT_APP_ becomes VITE_) and the Jest-to-Vitest switch of Testing React Applications.