跳到主要内容

Start 对比

这一篇不打算写成“谁赢了谁”的表格大战。真到项目里,框架很少是靠一个勾选表定胜负。

更有用的问题是:你到底想用这套框架解决什么,以及你愿意接受什么样的代价。

先给一个总判断

  • TanStack Start:更适合重视路由类型安全、部署自由度、显式组合和统一全栈模型的团队
  • Next.js:更适合接受强约定、想吃到成熟生态和 RSC-first 主线的团队
  • React Router Framework Mode:适合喜欢 React Router 体系、想要官方全栈路线但不执着于 TanStack 那套类型安全深度的团队
  • Remix:在 Web 原生表单、HTTP 语义和路由动作模型上依然很有味道

和 Next.js 比

相同点

两边现在都能覆盖全栈 React 的主功能面:

  • SSR
  • Streaming
  • API / 服务端端点
  • 服务器侧执行逻辑
  • 文件路由
  • SEO 能力

所以别再把 TanStack Start 当成“只能做客户端路由”的方案了。这个阶段已经过去了。

真正的差异

1. 路由层的重心不同

TanStack Start 的底座是 TanStack Router。它把很多精力放在:

  • 类型安全导航
  • 搜索参数建模
  • Loader
  • 预加载
  • URL 状态

Next.js 的强项更偏:

  • 整体框架约定
  • App Router
  • RSC
  • 和 Vercel 体系的结合

如果你的团队经常在 URL 和路由层做复杂状态组织,TanStack 这边会更有吸引力。

2. 服务端模型不一样

Next.js 今天的主线非常明显,是 RSC-first

官方最新文档里,数据获取、缓存、Streaming 都和 Server Components、use cacheSuspense、请求时 API 深度绑定。很多能力当然很强,但你得接受这套心智本身。

TanStack Start 则更像:

  • Router + Loader
  • Server Functions
  • Server Routes
  • Middleware
  • SSR / Streaming / Selective SSR

它不是没有服务器组件支持,但截至 2026-06-05,官方文档仍把 React Server Components 标成实验特性。这意味着它当前的主心骨并不是“所有问题都围着 RSC 解决”。

3. 部署姿势不同

Next.js 当然也能自托管,但最佳体验长期还是更偏 Vercel

TanStack Start 官方文档强调的是:

  • 基于 Vite
  • 可部署到任意 hosting provider
  • 推荐 CloudflareNetlifyRailway

如果你对运行环境自主权敏感,这一点不是宣传词,而是很现实的差异。

什么时候选 Next 更稳

  • 你已经在 App Router 上投入很多
  • 团队熟悉 RSCloading.jsroute handlersuse cache
  • 你希望官方默认路径很清楚,少做框架层取舍
  • 你想直接吃现成的教程、模板和社区答案

什么时候 Start 更对味

  • 你在意路由类型系统胜过“框架约定的一致性”
  • 你不想被平台强绑定
  • 你更喜欢显式的 Loader / Middleware / Server Function 组合
  • 你已经是 TanStack QueryTanStack Router 用户,想往上扩

和 React Router Framework Mode 比

官方 TanStack Start Comparison 页面就是把自己和 Next.jsReact Router v7 Framework Mode 放在一起看的,所以这组比较很有参考价值。

它们的共同点

  • 都在往 React 全栈方向走
  • 都有 SSR / Streaming 路线
  • 都把文件路由作为重要入口

分水岭

TanStack 更像“类型与组合优先”

官方给 Start 自己的定位很明确:

  • Router-first
  • Type safety first
  • Composable middleware
  • Selective SSR

如果你关心的是:

  • URL 参数和 search params 的类型
  • 端到端更强的 TS 推导
  • 路由和数据层的组合空间

那 TanStack 这一侧会更有吸引力。

React Router 更像“官方 React Router 全栈延伸”

如果团队本来就长期站在 React Router 的语义和 API 上,Framework Mode 会更自然。迁移成本也可能更低。

和 Remix 比

虽然 Start 官方比较页重点不在 Remix,但 TanStack Router 的比较文档里把 React Router / Remix 放在一起看,这种分组本身就说明它们有不少共同土壤。

Remix 仍然很强的地方

  • Web 原生表单和 action/loader 心智
  • HTTP 语义感很强
  • 框架叙事比较完整

Start 更突出的地方

  • 更深的类型安全
  • search params 的重视更高
  • 和 TanStack 其他库衔接更顺
  • 可以更自然地吸纳 QueryForm 这条生态线

如果你是那种“路由本身就是产品状态结构的一部分”的项目,Start 往往更讨喜。

一张更实用的决策表

你最在意什么更适合先看谁
React 全栈 + 最成熟生态Next.js
URL、路由、search params 的类型安全TanStack Start / Router
平台自由度、Vite 体系、显式组合TanStack Start
React Router 官方全栈路线React Router Framework Mode
Web 原生表单和 HTTP 动作模型Remix
内容站 / 岛屿架构Astro

最后一句

TanStack Start 不是 Next 的“平替”,也不是 Router 的“豪华脚手架”。

它更像一条不同的 React 全栈路线:底层把路由和类型系统抓得很紧,上层再把服务端执行和部署自由度补起来。

如果这正好打在你的痛点上,它会非常顺手。要是你的项目核心优势来自 Next 那套 RSC + 生态 + 平台 一体化主线,那继续留在 Next 往往更合适。