ARTICLE · 软件编程
用了多年 React,Remix 终于“叛变”了:3.0 版本彻底重写
一语总结Remix 3.0 Beta Preview 放弃 React,转向基于 Web 标准的全栈框架,引入命令式编程模型、基于 Fetch API 的路由等架构变更,社区反应分化。
本文介绍了 Remix 3.0 Beta Preview 的重大架构变更:从 React 迁移到 Web 标准原生能力,重新定位为完整全栈框架。框架改用基于 Fetch API 的路由、控制器返回 Web Response 对象、表单提交到 URL,前端保留 JSX 但移除 React 运行时,采用基于 Preact 的分支版本及命令式模型。事件系统使用统一的 on 属性,异步任务通过 AbortController,服务器驱动 UI 通过 frames 实现。社区评价分化:部分开发者认为这是从函数式编程回归命令式编程的正向尝试,但也存在对生态变化成本、迁移难度及框架稳定性的质疑。与 Next.js、SolidStart 和 SvelteKit 相比,Remix 3 更激进地押注 Web 标准而非框架抽象。
- Remix 3.0 完全抛弃 React,基于 Web 标准重构底层架构。
框架从 React 迁移到 Web 平台原生能力,采用基于 Fetch API 的路由、控制器返回 Web Response 对象,表单提交到 URL,服务器管理请求生命周期。
- 引入命令式编程模型,状态管理方式发生根本变化。
前端保留 JSX 但移除 React 运行时,采用基于 Preact 的分支版本,状态变量通过 this.update() 标记变化,形成命令式更新机制。
- 社区反应分化,技术变更引发激烈讨论。
部分开发者认为这是回归命令式编程的正向尝试,但也有质疑声认为框架变化过大、迁移成本高、与 React Router + Vite 的价值需重新证明。
用了多年 React,Remix 终于“叛变”了:3.0 版本彻底重写
本文介绍了 Remix 3.0 Beta Preview 的重大架构变更:从 React 迁移到 Web 标准原生能力,重新定位为完整全栈框架。框架改用基于 Fetch API 的路由、控制器返回 Web Response 对象、表单提交到 URL,前端保留 JSX 但移除 React 运行时,采用基于 Preact 的分支版本及命令式模型。事件系统使用统一的 on 属性,异步任务通过 AbortController,服务器驱动 UI 通过 frames 实现。社区评价分化:部分开发者认为这是从函数式编程回归命令式编程的正向尝试,但也存在对生态变化成本、迁移难度及框架稳定性的质疑。与 Next.js、SolidStart 和 SvelteKit 相比,Remix 3 更激进地押注 Web 标准而非框架抽象。
文章金句
"Remix 3 将路由、请求处理器、中间件、会话、身份认证、表单、上传、资源、数据和数据库管理、UI 组件、主题、网络以及测试等能力,都纳入统一的 remix 体系之下。
"开发者认为 Remix 3 已经'完全无法辨认',将其与 Next.js 进行了比较:'你爱怎么喷 Next.js 都行,它的大版本升级确实经常搞事情,但至少它一直还是那个做 SSR 的框架。'