Token导航 LogoToken导航TokenDH.com

Zero 1.0 发布,Rocicorp Web 同步引擎迎来首个稳定版

更新时间 2026-06-13来源 InfoQ正文 1349字阅读约 5分钟
作者 | Daniel Curtis
译者 | 明知山

Rocicorp 发布 Zero 1.0,这是其通用 Web 同步引擎的首个稳定版本。经过近两年的开发、50 多个版本迭代、数千次提交以及数百个缺陷修复后,该版本终于面世。这一里程碑标志着 Rocicorp 现已全面支持 Zero API 并承诺持续维护,后续预计极少出现破坏性变更,即便有改动,影响范围也会远小于测试版阶段。

从功能上看,发布说明 提到,1.0 版本与之前的 0.26.2 版本相比更新幅度极小,主版本号升级主要为象征意义,并未引入重大变更。此次更新的核心亮点是新增了一个 Schema 变更钩子,可通过 COMMENT ON PUBLICATION 语句检测 Supabase 上的发布变更,从而绕开 Supabase 不支持对发布操作使用事件触发器的限制。新版本还修复了 litestream 恢复数据损坏、变更数据捕获(CDC)异常时的错误处理、关闭期间的 IPC_CHANNEL_CLOSED 竞态条件、孤立订阅者场景,以及 time 和 timetz 类型的 SQL 生成问题。

Zero 的工作原理是将应用内的 zero-client 库与 zero-cache 服务配对,后者会维护一份 Postgres 数据库的只读副本。使用 ZQL(Zero 的 流式查询引擎)编写的查询会先在本地缓存上执行,并在下一帧返回匹配结果,同时后台会从服务器同步权威数据。创始人 Aaron Boodman 在 Hacker News 上 表示,这种“自带数据库”(Bring-Your-Own-Database)模式是一大优势,Zero “本质上只是一个高级缓存”,不会造成数据损坏,团队既可逐步接入使用,也能轻松完成迁移。

社区对开发者体验的反应较为积极,但对于其生产环境可用性则持谨慎的态度。Marmelab 在对这款引擎进行评测时,肯定了它出色的运行速度与开发者体验,同时也指出了几处明显的局限:

结合应用程序的复杂度和所选的技术栈,部分限制依旧较为突出。以下是我们整理的相关问题示例:

目前仅支持 Postgres

Postgres 视图不会被同步

部分 Postgres 列类型不受支持,例如 

array

客户端 API 无法针对报错或被驳回的数据更新做出响应

Lobsters 上有评论者指出,客户端包体积为 718 KB(未压缩,gzip 压缩后为 232 KB),且不支持服务端渲染(SSR);而 Reddit 上的一个讨论帖 则提出质疑,在本地存储、同步副本和源数据库之上叠加这么多层是否过于复杂。

Zero 进入了一个拥挤的赛道,与 ElectricSQL、InstantDB、PowerSync 和 Convex 等竞品同台竞技。Boodman 建议 希望实现完全去中心化、端到端方案的开发者可以关注 Jazz。服务端渲染功能目前仍在 路线图 中,尚未正式推出。

因为没有重大变更,升级过程非常直接:

    npm install @rocicorp/zero@1.0

    从较旧版本升级的团队仍需查阅各版本的 发布说明,了解此前的 API 变更,例如 0.23 版本中的自定义 mutator 类型变更,并按照 Schema 部署指南 中的顺序建议操作,以避迁移期间出现停机。

    查看英文原文:

    https://www.infoq.com/news/2026/06/zero-version-1/

    声明:本文由 InfoQ 翻译,未经许可禁止转载。

    文章标签模型发布
    资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

    继续浏览更多资讯

    返回资讯目录

    相关资讯

    更多