用途:该技能面向跨语言共享的 SpacetimeDB 客户端 SDK 概念,帮助在编写具体 SDK 代码前理解通用流程。
主要能力:涉及生成绑定、连接生命周期、身份、本地缓存、订阅、订阅语义、reducer 调用与事件观察等主题。
使用方式:核心客户端流程为从当前模块生成模块绑定(不要用陈旧的已签入示例);用主机 URI、数据库名或身份、可选认证令牌与连接回调构建 DbConnection;按 SDK 启动或推进连接,部分 SDK 在推进前不处理回调;在依赖前注册行、reducer、订阅回调;订阅表或查询,订阅应用后已订阅行出现在本地缓存;通过生成的表句柄从本地缓存读取数据;通过生成的 reducer 句柄调用 reducer,并通过 SDK 特定事件或事件表观察结果。
跨 SDK 规则:订阅句柄管理生命周期而非行数据,行位于连接的本地缓存;subscribeToAllTables 方便但难以取消或优化,生产客户端宜用特定类型化查询;先订阅再从缓存读取,空缓存通常意味着未应用订阅而非数据库无行;取消订阅是异步的,服务器确认前行可能仍存在;公共表与公共 reducer/过程会为普通客户端生成,仅可信工具使用 --include-private;生成名称遵循模块 schema,有本地绑定时不要猜测访问器;需要连接表的订阅需在连接列上有索引,重叠订阅可能重复工作并使缓存预期复杂化。
适用场景:编写具体 SDK 代码时,加载对应语言的客户端技能;参考文档按需查阅 clients.md、clients-api.md、clients-codegen.md、clients-connection.md、clients-subscriptions.md、clients-subscriptions-semantics.md。
限制:资料未提供具体收费、价格、平台与效果信息;具体语言实现细节需参考对应语言技能,本技能为通用概念参考。