Solid 2.0 RC:异步原生,告别 SolidStart

Solid 2.0 RC: The Big <Reveal>

Solid 2.0 RC:异步原生,告别 SolidStart

Solid 2.0 发布候选版,彻底重构了异步处理模型。过去框架将异步视为外部干扰,而 Solid 2.0 将其内化为响应式图的原生属性。这意味着无需 createResource 或 Suspense 等复杂原语,普通 Memo 即可直接返回 Promise,配合 Loading 组件实现无缝加载状态。工具链全面升级,基于 Rust 和 Oxc 的新编译器带来数十倍的速度提升,且默认集成在 Vite 插件中。更重要的是,SolidStart 的职能已完全融入核心框架,start mode 取代了独立的元框架,提供从 SPA 到 SSR 的一站式部署方案。这次更新不仅移除了大量旧 API,更让开发者用更少的代码构建更强大的应用。

UI 框架中最难解决的问题从来不是渲染,我们一直拥有可以高效操作的 DOM;真正的挑战在于同步,即无论发生什么,都能高效地展示一致的界面。
  1. MisterKent

    Hey Ryan,首先恭喜你。我从 Solid 正式发布 v1 之前就开始非常喜爱它了,并且在我所有的个人项目中都在使用。

    如果还有人没试过,我强烈推荐。简单说:Solid 让那些“愚蠢又天真”的代码变成了最优解。它彻底消除了 React 带来的所有痛点。

    我赞同你的观点,即我们已经把 Web 前端性能优化到了值得关注的极限。我认为下一个前沿是优化函数调用。在这方面,我喜欢 Solid 对异步的处理方式,不过我有个小建议?

    Solid 需要一个紧密耦合的请求库,能够直接发出 signals 和 resources。这个“服务端”数据绑定层正是缺失的粘合剂。我觉得 server actions 某种程度上触及了这一点,但我从未真正对它们感到满意。纯属个人看法。

    我所有项目的第一步,总是把一堆 fetch 调用封装成 Solid 原语的正确咒语。此外,Solid 编译器应该能够通过静态分析提前加载这些请求,从而在不需要开发者做各种高难度动作的情况下,改善实际的 FCP/LCP 时间。

  2. ruby14

    对我来说,与其他流行框架处理异步的方式相比,这感觉像是该领域的真正创新。在其他框架中,异步功能感觉像是生硬拼凑上去的,而且陷阱重重;而在这里,它感觉确实是框架的一部分。新的原语直观且组合性良好,生成的异步感知 UI 代码更具声明性。你免费获得了在其他框架中必须手动处理的大量行为。

    另外让我感兴趣的是,它似乎是无色的。你的异步状态就像任何同步信号状态一样被使用。

    非常期待开始尝试它!

  3. genshii

    也许我只是需要克服这一点,但这篇文章散发着浓浓的 Claude 风格,这让我立刻就不想关心文章到底在说什么了。

    显然,现在由 LLM 撰写这类文章已成常态,但写作风格不必如此。Claude(以及其他流行 LLM)的写作方式如此令人讨厌且啰嗦。我觉得只要简单过一遍“让这更简洁、更切题”,效果就会大不相同。

  4. terabytest

    尽管我努力想理解这里有什么突破性的地方,也真的在努力欣赏它,但这篇文章的文体风格让它完全难以理解。我试图弄明白 Solid 2.0 有什么特别之处,但结果是一无所获,因为读起来就像是在读一堆噪音。

  5. unlog

    我一直在想,Ryan 的下一步是否应该更进一步,将 Solid 扩展到 any-ui,而不仅仅是 Web。这显然是一个进步,但这一步的意义可能比表面上看起来要大得多。

同日更多故事

2026-08-13