Chapter 4 of 6

Same React, different stacks

React is just the UI library. The tools around it change depending on whether you build a website, a full-stack app, or a mobile app — but the Vite-based frameworks all share one fast toolchain.

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.

At a glance
Vite SPA TanStack Start React Router 7 Next.js 16 React Native
Setup Vite 8 no framework Start on Vite 8 RR7 on Vite 8 Vercel framework Expo / mobile only
Bundler Rolldown Rolldown Rolldown Turbopack Metro
Compiler Oxc Oxc Oxc SWC Babel
Runtime Browser Node + Browser Node + Browser Node + Browser Hermes V1
Ship to Static CDN Any JS host Any JS host Vercel / Node App stores

Vite / Rolldown / OxcTurbopack / SWCMetro / Babel

Next.js uses Turbopack — a separate stack from Vite — and leans toward its own vendor's platform for deployment. TanStack Start and React Router both stay on the Vite/Rolldown pipeline and ship to any host you like, which keeps you portable. React Native doesn't use any of the web bundlers at all.

Where this guide leans toward portable, vendor-neutral tooling, that's a personal preference — not an objective verdict. Weigh these trade-offs against your own project and do your own research before you commit.

You've seen how stacks differ. The next chapter zooms into the present: what shipped in 2025 and 2026, and what's still in progress.