加载中...
Ryan Carniato 开发的高性能前端框架,抛弃虚拟 DOM,通过细粒度响应式系统直接更新 DOM,JSX 语法与 React 相似但运行时大小不到 7KB,在多项前端性能基准测试中位居榜首。

| 类型 | 高性能前端框架 |
| 首发版本 | 0.1(2019 年) |
| 作者 | Ryan Carniato |
React 的响应式以组件为单位——状态变化时整个组件函数重新执行。Solid.js 的响应式以信号(Signal)为单位:createSignal 创建一个可观察的值,组件函数只在首次渲染时执行一次,之后只有真正用到了某个 Signal 的 DOM 节点会在 Signal 变化时更新。
这意味着 Solid 的 JSX 里的表达式是惰性求值的——{count()} 不是立刻读取值,而是建立了一个依赖关系。这个模型比 React 更接近电子表格的「响应式」直觉。[1]
在 krausest/js-framework-benchmark(前端框架性能标准测试集)中,Solid.js 的原生 DOM 操作版本长期与 Svelte 并列前二,显著快于 React 和 Vue。内存占用也极低。
Solid 的生态相对 React 仍是小众:组件库、工具链的选择少得多,招聘和社区支持也弱。SolidStart(全栈框架)于 2024 年正式发布,但成熟度仍在积累中。Solid 的理念对 React 团队也有影响——React 19 引入的 use() 和 useTransition 改进,以及 Vue 3 的 ref 设计,都有细粒度响应式的影子。

| 类型 | 高性能前端框架 |
| 首发版本 | 0.1(2019 年) |
| 作者 | Ryan Carniato |
登录 后参与讨论
暂无讨论,来发表第一条评论吧