为什么我开始从 Next.js 迁移到 TanStack
过去很长一段时间里,我的新项目几乎都采用 Next.js + Vercel 方案。但随着项目数量增加,我逐渐发现性能、部署成本和基础设施管理成为新的问题。最近连续使用 TanStack Start 一段时间后,我开始将新站点逐步迁移到 TanStack + Cloudflare 体系。
从实际体验来看,页面打开速度提升明显,Cloudflare 全家桶带来的部署流程更加统一,整体成本也比传统的 Vercel + 第三方数据库方案更低。虽然需要重新适应新的项目结构,但在 AI 开发时代,这部分学习成本并没有想象中那么高。
真正让我改变技术选型的,并不是框架本身,而是底层基础设施带来的整体效率提升。
过去几年,Next.js 几乎是独立开发领域的默认选择。
无论是 SEO、SSR、Server Action 还是生态完整度,它都拥有足够强大的优势。
因此很长一段时间里,我的新项目基本都是:
Next.js + Vercel
这套组合确实足够成熟。
代码提交后自动部署。
配置简单。
开发体验优秀。
对于独立开发者来说,几乎没有什么门槛。
但随着项目越来越多,我发现真正困扰我的问题,并不在开发阶段。
而是在上线之后。
网站速度、服务器成本以及基础设施的管理复杂度,开始逐渐影响整体效率。
这也是我开始关注 TanStack 的原因。
现已上架, shipany-tanstack仅售 ¥9.99 https://www.tplcode.cc/templates/shipany-tanstack Tanstarter模板(赠送Mkimage模板) ¥29.99 https://www.tplcode.cc/templates/tanstarter
很多人讨论框架,其实忽略了基础设施
不少开发者在选择技术栈时,习惯比较框架能力。
例如:
- 路由能力
- SSR能力
- SEO能力
- 组件生态
但实际运营网站后会发现。
真正影响长期体验的,往往不是这些。
而是网站最终运行在哪里。
表面看是在比较 Next.js 和 TanStack。
实际上是在比较两套基础设施体系。
一套是:
Vercel + 第三方服务
另一套是:
Cloudflare 全家桶
当我开始从这个角度重新审视时,很多事情就变得不一样了。
页面打开速度的提升比预期更明显
最早让我感受到差异的,是网站访问速度。
以前的 Next.js 项目其实也做过不少优化。
例如:
图片压缩。
缓存优化。
组件懒加载。
静态生成。
CDN配置。
这些优化确实有效。
但提升往往是渐进式的。
优化一个环节快一点。
再优化一个环节快一点。
整体体验有所改善,但很难出现质变。
而迁移到 TanStack + Cloudflare 后,我最直观的感受是:
页面变得非常顺滑。
尤其是在全球访问场景下。
首次加载速度明显更快。
页面切换响应也更加流畅。
这种差异并不是跑分工具上的几个数字变化。
而是真实用户能够感知到的体验提升。
很多时候用户并不会关心你使用什么框架。
但用户一定能感受到页面是否卡顿。
访问速度,最终影响的是留存。
部署体验并没有变复杂
很多人担心离开 Vercel 以后,部署流程会不会变得麻烦。
实际体验恰恰相反。
Vercel 最大的优势之一,就是部署简单。
代码推送。
自动构建。
自动上线。
整个流程几乎不需要额外操作。
而 Cloudflare 现在也在快速补齐这部分体验。
尤其是配合 Cloudflare CLI 后。
很多资源都能直接通过命令完成绑定和部署。
例如:
- Workers
- R2 对象存储
- D1 数据库
- KV 存储
以前可能需要在多个平台之间来回配置。
现在很多步骤都能统一管理。
更重要的是。
AI 编程工具出现后,这种体验进一步被放大。
我现在很多部署工作,都是直接让 AI 帮忙生成配置和命令。
包括:
绑定数据库。
配置 R2。
创建 Worker。
自动部署。
整个过程已经越来越接近自动化。
对于独立开发者来说,这意味着更少的重复劳动。
成本优势开始逐渐显现
当项目只有一个时。
成本差异并不明显。
但当项目开始增加。
情况就不同了。
以前我的方案通常是:
| 服务 | 方案 |
|---|---|
| 前端部署 | Vercel |
| 数据库 | 第三方数据库 |
| 文件存储 | 第三方对象存储 |
| API服务 | 单独配置 |
看起来每项费用都不高。
但累加起来后,成本并不便宜。
尤其是在多个项目并行运营时。
每新增一个项目。
都意味着新的资源消耗。
而 Cloudflare 的优势在于:
它试图把这些能力统一到同一个生态中。
R2。
D1。
Workers。
KV。
CDN。
全部整合在一起。
结果就是:
管理更简单。
账单更统一。
整体成本也更低。
对于独立开发者来说。
降低固定成本,本质上就是提高项目容错率。
因为并不是每个项目都能赚钱。
但每个项目都会产生费用。
开发体验变化其实没有想象中大
很多人最担心的还是开发成本。
毕竟已经习惯了 Next.js。
重新学习一个框架听起来并不轻松。
我最开始也有同样顾虑。
但实际使用下来发现。
影响并没有那么大。
原因很简单。
现在已经进入 AI 开发时代。
以前学习新框架,需要自己阅读大量文档。
现在很多问题直接交给 AI 即可。
因此真正需要适应的部分主要是:
项目结构。
路由组织方式。
部分 API 使用习惯。
除此之外。
React 开发逻辑并没有本质变化。
对于已经熟悉 React 生态的开发者来说。
迁移成本远低于想象。
很多时候。
最大的障碍不是技术难度。
而是习惯。
我目前的判断
经过一段时间的实际使用后。
我已经把新项目逐步从 Next.js + Vercel 转向 TanStack + Cloudflare。
原因并不复杂。
速度更快。
部署依然简单。
基础设施更加统一。
整体成本更低。
当然,这并不意味着 Next.js 不再优秀。
对于很多成熟团队而言。
Next.js 依然是非常稳妥的选择。
但对于独立开发者、小型团队以及大量工具站项目来说。
Cloudflare 生态正在提供另一种值得认真考虑的方案。
技术选型从来不是选择最先进的工具。
而是选择最适合当前阶段的工具。
当部署成本、访问速度和运营效率开始变得重要时,框架本身反而不再是最关键的因素。