返回

文章详情

展示 HN:Syncular – 离线优先的 SQL 同步,结合 TypeScript 和 Rust 核心

Hacker News2026年8月2日 09:48

服务器权威的、离线优先的 SQL 同步操作。客户端保持真实的本地 SQLite 数据库(浏览器中的 OPFS,其他地方的本地 SQLite),写入通过乐观的发件箱进行,服务器上的一个有序提交日志作为事实来源。文档 · 快速入门 · 实时演示 · 基准测试 · 博客 bun create syncular-app my-app 仓库的构建方式 规范优先:SPEC.md 是规范性文件,spec/vectors/ 是黄金标准;当规范和代码不一致时,代码会发生变化。两个核心(TypeScript 和 Rust)通过实现无关的符合性套件保持同步。测试原则:用于集成场景的内存回环传输;在传输接口处进行故障注入;测试等待显式准备信号(禁止休眠);真实套接字测试数量很少并被隔离。请参见 packages/conformance。 一个好的路径:浏览器持久化到 OPFS,并将不支持的环境报告为错误;同步通过 WebSocket 运行。布局路径 包含内容 packages/core 协议编解码器、共享类型、向量往返 packages/server handleSyncRequest(bytes, ctx) + 存储/认证接口(SQLite、Postgres、D1) packages/server-hono 、 packages/server-workers 框架绑定(Hono、Cloudflare Workers) packages/web-client @syncular/client:@sqlite.org/sqlite-wasm 上的 TS 客户端核心 packages/react 在客户端之上的 React hooks packages/typegen Schema IR + TypeScript 发射器、命名查询(无货物依赖) packages/crypto 、 packages/crdt-yjs 每列的 E2EE 原语、Yjs CRDT 合并工具 packages/testing @syncular/testkit:真实服务器 + 客户端的内存回环 packages/conformance 场景运行器两个核心必须通过 rust/ Rust 客户端核心及其 C-ABI FFI crate 绑定/ Tauri、React Native、Swift、Kotlin、Flutter 应用程序/文档 文档网站(syncular.dev) 命令 bun install bun run check # 类型检查 + lint + 测试 贡献 请先阅读 AGENTS.md。其原则(规范优先,无回退,测试中无计时器,跨核心一致性)适用于人类和机器贡献者。关于 AI 协助:欢迎使用 LLM 来进行测试、再现、基准测试、文档和生产代码。审查、理解并迭代您提交的所有内容,并准备好为每一行辩护;生产代码接受最严格的审查。在 syncular 自身的开发中,LLM 协助主要用于编写测试和迭代技术概念,遵循相同的审查标准。低努力的机器生成 PR、问题和评论会被无评论关闭。完整政策和面向代理的纯文本文档包可在 syncular.dev/llms 找到。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡