@convergence/convergence

中文文档
1.0.0-rc.12发布于 2021/07/24LGPL-3.0-onlyTypeScriptESM + CJS近 30 天下载 2310

JavaScript 客户端

中文使用文档

概览

此软件包提供了 Convergence JavaScript API 的 npm 分布, 用于与 协同协作框架。 。 。 .

Convergence是快速发展实时协作应用的引擎. 协和的核心是它的协作实时数据存储. 如果其他框架停止试图提供实时数据,则通过提供 全部 开发者需要构建一个 有效 财务报告和审定财务报表 直观 合作应用。 其中的一些要点包括:

  • 实时数据:允许用户同时编辑同一数据,使每个人对数据的看法保持同步.
  • 用户和身份:允许开发人员在系统内创建和管理用户及其身份,使用户知道他们与谁合作.
  • 出席情况:允许用户了解"谁在这里?"和"谁在",这样他们就可以更有效地与需要的其他用户合作.
  • 协作意识:解决编辑冲突的最佳方法是首先避免. 趋同提供了强大的协作意识能力,帮助用户在不发生冲突的情况下合作.
  • 聊天通讯( M):允许用户通过直接嵌入在应用程序中的聊天进行沟通.

趋同性在单一的API中提供了所有这一切和更多,减少了将多框架粘合在一起的时间和复杂性. 有了同心协力,你可以在数小时之内,而不是数月之内起跑.

安装

npm install --save @convergence/convergence

示例使用

const Convergence = require("@convergence/convergence").Convergence;

const url = "https://convergence-server.myhost.com/mynamespace/mydomain";
const credentials = { username: "myuser", password: "mypassword" };

Convergence.connectWithPassword(url, credentials).then(domain => {
  // open an employee data model.
  return domain.models().open("employees", "doe.john");
}).then(model => {
  // Get the root elemenet in the model.
  const data = model.root();
  
  // Set some data
  data.set("fisrtName", "John");
  data.set("lastName", "Doe");
  
  // Get the firstName property directly
  const firstName = data.elementAt("firstName");
  
  // Rest the first name's value
  firstName.value("Dan");
  
  // Listen for course grained changes
  firstName.on("value", () => {
    console.log(firstName.value)
  });
  
  // Insert 'ny' into the string at index 3.
  firstName.insert(3, "ny");
  
  // Listen for course grained changes
  firstName.on("insert", (evt) => {
    console.log(`characters '${evt.value}' added at position (${evt.index})`)
  });
});

文档

汇集文件的全部内容如下:

https://convergence.io/learn/ (英语)

浏览器中的热链接

相会需要RxJS 6.x. 使用 npm 模块时会照顾到这种依赖性 。 如果通过脚本标签包含的话, 您也必须包含 rxjs .

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.6.3/rxjs.umd.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@convergence/convergence/convergence.global.js"></script>

这将增加一个 Convergence 变量到全局命名空间.

还有AMD版本:

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.6.3/rxjs.umd.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@convergence/convergence/convergence.amd.js"></script>

许可证

Convergence JavaScript 客户端根据 更少的 GNU 公共许可证 v3 (LGPLv3) (英语). 这使得开发人员可以使用客户端,而无需在LGPLv3下发布他们的代码,假设他们只使用客户端作为库而不会修改. 参见 乘车 财务报告和审定财务报表 驾驶员 许可证的具体条款和条件.

统一客户也可凭商业许可证获得。 如果你对非公开源码许可有兴趣 请联系我们 聚合实验室。 。 。 .

版本与发布记录

@convergence/convergence 共发布 57 个版本,首次发布于 2017/01/09;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.0-rc.12latest2021/07/245 年前
1.0.0-rc.112021/07/145 年前
1.0.0-rc.102021/07/135 年前
1.0.0-rc.92021/07/015 年前
1.0.0-rc.82021/05/235 年前
1.0.0-rc.72020/07/076 年前

关于 @convergence/convergence 的常见问题

@convergence/convergence 是什么?

JavaScript 客户端

如何安装 @convergence/convergence?

在项目目录运行 npm install @convergence/convergence,或使用 pnpm add / yarn add / bun add。

@convergence/convergence 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@convergence/convergence 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@convergence/convergence 可以商用吗?

@convergence/convergence 使用 LGPL-3.0-only 许可。弱 Copyleft:作为库被调用时通常不要求开源你自己的代码,但修改库本身需以 LGPL 开源;前端打包合并后的适用边界存在不同理解。以上为概括,不构成法律意见,请以许可原文为准。

@convergence/convergence 的下载量有多少?

根据 npm 官方下载统计,@convergence/convergence 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,310 次,日均约 77 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@convergence/convergence 还在维护吗?

最新版本 1.0.0-rc.12 发布于 2021/07/24(5 年前);至今共发布 57 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/01/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。