Vite + React SPA Client-side apps, the CRA replacement
- Dev server
- Vite 8
- Bundler
- Rolldown (via Vite)
- Transform
- Oxc (in Rolldown)
- Lint
- ESLint or oxlint
- Format
- Prettier or Biome
- Types
- tsc or tsgo
- Optimize
- React Compiler (optional)
Good for dashboards, internal tools, and apps that don't need server rendering.
TanStack Start Full-stack Full-stack React on Vite with type-safe routing
- Framework
- TanStack Start
- Router
- TanStack Router
- Build tool
- Vite 8
- Bundler
- Rolldown (via Vite)
- Transform
- Oxc
- Server
- SSR · server functions · API routes
- Deploy
- Any host — Cloudflare, Netlify, Node…
A strong pick for new full-stack projects. Stays on the Vite pipeline instead of a separate bundler stack.
React Router 7 Full-stack Remix, merged into the router — Vite-based
- Framework
- React Router 7
- Build tool
- Vite 8
- Bundler
- Rolldown (via Vite)
- Transform
- Oxc
- Server
- Loaders · actions · SSR
- Deploy
- Any Vite-compatible host
Same Vite/Rolldown/Oxc pipeline as TanStack Start. Mature patterns for data loading and forms.
Next.js 16 Full-stack Full-stack React on the Turbopack & SWC stack
- Framework
- Next.js 16
- Bundler
- Turbopack (default)
- Compiler
- SWC
- Lint
- eslint-config-next
- Optimize
- React Compiler (stable, opt-in)
- Runtime
- React 19.2
Uses Turbopack and SWC, not Vite/Rolldown. Tightly tied to its vendor — it runs most seamlessly on Vercel, and self-hosting the full feature set takes extra setup.
React Native / Expo Mobile React for iOS and Android
- Bundler
- Metro
- Transform
- Babel
- Engine
- Hermes V1 (default since 0.84)
- Architecture
- New Architecture (since 0.82)
- Framework
- Expo (optional, recommended)
Mobile has its own toolchain. You don't use Vite or Webpack here — Metro and Hermes are the defaults.