发布于: 2024-12-12最后更新: 2026-5-3字数 698阅读时长 2 分钟

type
Post
status
Published
date
Dec 12, 2024
slug
Nextjs还是Remix
summary
2024 年 OpenAI 把 ChatGPT 的前端从 Next.js 换到了 Remix,技术圈炸了。这篇聊聊我看完 OpenAI 那篇博客后对两个框架的理解,以及自己什么时候会选哪个。
tags
人工智能
开发
新闻
category
技术分享
icon
password
synced
paired_with
1cb1d487-a2a1-80fb-8d62-d02509553175
source_hash
translation_locked
translation_locked
💭
2024 年初 OpenAI 把 ChatGPT 的前端从 Next.js 迁到了 Remix,技术圈炸了一圈。Next.js 是 React 阵营的事实标准,Vercel 一手扶起来的招牌产品。OpenAI 这个量级的公司说换就换,到底是 Remix 真的更好,还是另有原因。这篇文章想聊聊我看完 OpenAI 那篇博客之后的一些理解。

这两个框架的来历

Next.js 是 2016 年 Vercel (当时还叫 Zeit) 做出来的,是最早把 React 服务器端渲染做成"开箱即用"的框架。后来一路把约定式路由、自动代码分割、SSR / SSG / ISR 等套餐式功能塞进去,几乎成了"做 React 项目就用它"的默认选项。
Remix 出现得晚很多。2021 年由 React Router 那拨人推出,思路完全不同。它从一开始就严格按照 Web 标准来做,少装东西,能交给浏览器和服务器原生处理的就交出去。Shopify 后来把它收购了,才进入更多人的视野。

写法上的差别

举个最常见的场景,服务器端取数据。Next.js 是这样
Remix 长这样
看起来差不多,但底下的心智模型很不一样。Next.js 把数据获取当成一个"页面参数"来注入。Remix 把它当成"路由的一部分",每个路由有自己的 loader 和 action,UI 跟数据的关系是嵌套的。

OpenAI 为什么要迁

OpenAI 那篇博客的说法,迁移之后服务器端渲染时间从 300ms 左右降到了 180ms。但这数字本身不是重点,重点是为什么。Remix 走的"Web 标准 + 服务器优先"路线,让它在大流量场景下表现更稳。客户端 JavaScript 包小,意味着首屏更快。表单原生提交,意味着不那么依赖客户端水合 (hydration) 这个昂贵的过程。
ChatGPT 这种应用的特点是流量大、交互密、状态多,每一毫秒都会乘以亿级用户量。Next.js 的"全功能"在这种场景下变成了负担,Remix 的"轻一点"反而合适。

我自己怎么选

如果是个人项目、博客、官网这种,Next.js 几乎闭眼选。生态成熟,部署简单,Vercel 一键上线。Remix 的学习曲线陡一点,部署也得自己折腾点。
但如果你做的是大流量产品,并且团队里有人愿意按 Web 标准的方式去思考,那 Remix 值得认真看看。OpenAI 这次切换至少证明了一件事,在合适的场景下,"少即是多"的框架能省下真金白银。

📎 参考文章


Loading...
避免过度使用React useEffect

避免过度使用React useEffect

useEffect 是那种用着用着就把组件搞崩的 Hook。这篇聊聊什么时候该用、什么时候别用,以及一个组件里塞五六个 useEffect 之后怎么把它们清出去。


聊天界面的内容自动跟随,怎么做才不烦人

聊天界面的内容自动跟随,怎么做才不烦人

做 AI 聊天产品最容易翻车的细节之一,是「自动滚到底部」那个小逻辑。看着两行代码搞定,实际上踩坑能踩半年。这篇聊聊我做这一类功能时的几次反复。


公告
网站持续更新中…