独立开发:NextJS 🐶 都不用

· json · rss
Subscribe:

About

Next.js 作为 React 顶流,多少独立开发者选它当主力?作为一个 CTO + 资深独立开发者,在高强度用 Next.js 上线 N 个产品后,实在忍不住想激情开麦吐槽一下,细数它让人血压飙升的六宗罪。

1. 臃肿不堪:Vercel 全家桶的 KPI 填坑计划

说好的“开箱即用”呢?打开全是 Vercel 狠活!

RSC、Edge Runtime、Middleware、Turbopack……独立开发者求的是快,只想简简单单写几个页面赶紧上线找 PMF,却被迫扛起火箭发射台,研究 cache 的 N 种 strategy。

Dev server 被 Vite 吊打,项目大点 HMR 直接变 PPT。Turbopack 号称下一代构建系统,实则一堆坑解决不了,最后龟速 Webpack 真香了。

美其名曰“前沿技术”,实则逼你用 Vercel 全家桶。独立开发者?都是 Vercel 的实验小白鼠罢了。

2. 性能欺诈:理想是朵花,现实烂泥巴

吹爆的 ISR、SSR、SSG 在现实中各种翻车。

Serverless function 冷启动慢得要命,不如 Cloudflare Workers。

很多时候 RSC 反而增加延迟,数据获取和组件嵌套拖垮体验。小心翼翼拆分 client/server component,结果一顿操作下来,用户只是觉得一次 loading 变成 N 次 loading,体验负优化。

Cache 机制各种黑,复杂到堪比意大利面。相信每个 Next.js 用户都经历过:“咦,怎么没更新?”“咦,怎么更新了?”一大堆 Cache 下来,结果性能也没比直接 HTTP Cache 好到哪去。

Vercel 用乡土黑魔法跑分,你用真金白银买服务器。说好的性能呢?

3. Vercel 生态绑架:甜蜜的毒药

Next.js 表面开源,实则 Vercel 亲儿子。在 Vercel 上部署确实很爽、很丝滑,但你一旦想跑路?各种专属优化、冷启动配置、图像优化、增量构建、CDN 缓存全都没有。DX 体验退回刀耕火种。要么跪着用 Vercel,要么哭着重写部署脚本。

关键是 Vercel 这两年频频涨价,计价方式越来越“精细”,免费 Plan 越来越缩水。访问量稍微大一些,就要做好钱包被收割的准备。赛博菩萨 Cloudflare:就这?

更狠的是,掏空 React 团队,把 React 事实上变成了自己控制的框架。比如 React 的新特性 RSC,明显就是给 Next.js“量身定制”的。用开源框架给自己商业产品做嫁衣,强绑 React 生态,其心可诛。

收购 NuxtLabs 后,Vercel 左手 React、右手 Vue,实际上垄断 Web 生态的“云平台霸权”。希望 Vue 生态不要再被 Vercel 吸血。

4. 学习曲线:从入门到弃坑只需一版

App Router、RSC 概念轰炸,文档像拼图,找文档犹如解密藏宝图,令人精疲力尽。

SSR、SSG、CSR、ISR、PPR 傻傻分不清,写 Next.js 犹如化身赛博孔乙己,研究 div 的十三种 render 方法。

layout.ts、page.ts、route.ts 文件一大堆,一个页面几十行代码拆成好几个文件,IDE 跳转点得手都酸了。

刚学会 Pages Router?Vercel 反手强推 App Router,旧项目秒变技术债孤儿。

API 今天还是 experimental,明天就 deprecated,犹如博主的时尚单品一样,让人每天充满新鲜感。

Next.js 的版本号是日历,每月学废一个新功能。

5. 构建地狱:等 Build 像等初恋回微信

页面多点?构建时间指数爆炸。

ISR 配置巨复杂,手动设置 revalidate 并处理缓存失效逻辑,调试到秃头。

强推的 Turbopack 就是个扶不起的阿斗,速度不如 Vite,灵活性不如 Webpack。

尤其是老项目从 Webpack 升级上来的,一大堆 build errors 好不容易修完了,结果发现还有一大堆 Webpack 插件不兼容,天都塌了。

SSR 内存占用失控,小服务器想跑 Next.js,直接 OOM 升天。

6. 伪灵活:自由的牢笼,焊工的地狱

号称是框架,啥都给你做了,就是没有数据和状态管理。想用什么自己焊:外接状态库结合 Next 的迷之 Cache 和 Router,数据流变浆糊,慢慢 debug 去吧。

想用 Next.js 做 SPA?别想不开了,数不完的坑等着你。你就说爸爸的大 SSR 快不快?

路由想深度定制?next.config.js 炼狱等你,good luck。

调试 SSR 错误像侦探破案,客户端和服务端日志随机二选一,让我在上班时也能体会到抽盲盒的快感,非常贴心。

想用 Server Action 当后端?省省吧,各种限制和 anti-pattern。有那查文档的时间,不如老老实实用个后端框架一把梭干完了。

用 Next.js 写代码心智负担过重,开发模式反直觉。写多了真的心累,只会想回归简简单单的“传统”React 开发模式。毕竟咱们写代码是为了变现,不是吃瘪。

血泪总结 + 救命建议

Next 刚出现时是最好用的框架。它普及了 SSR,也推动了社区的发展,不可否认有非常积极的历史意义。但现在,除非历史包袱重,否则真不推荐。下面是更好的方案:

  • 轻量快迭代:Vite + React + TanStack(强推 Query + Router),丝滑优化,省下 90% 配置时间。
  • 要 SSR/SSG:Remix / Astro,不绑架云平台,灵活、性能和 DX 我都要。
  • 要 Server Action:试试 tRPC / oRPC,结合 TanStack Query。end-to-end TypeSafe 用在小型项目上简直爽得要命,还能无缝集成 Hono 等其他后端框架。
  • 必须部署 Next.js:Cloudflare + next-on-pages。赛博菩萨免费额度每天十万次请求,够你白嫖到爽,付费也才 5 美元,跟不要钱一样。
  • 要图像优化:直接 Cloudflare Images(5 美元/月),无缝集成 Next Image 组件,配合 R2 / S3,实在太方便。

原始小红书笔记