用于构建应用程序的数据结构库 automerge

码农软件 · 软件分类 · 常用JavaScript包 · 2019-04-04 18:29:28

软件介绍

Automerge是一个用于在JavaScript中构建协作应用程序的数据结构库。

构建JavaScript应用程序的常用方法是将应用程序的状态保存在模型对象中,例如JSON文档。例如,假设您正在开发一个任务跟踪应用程序,其中每个任务都由一张卡片表示。在JavaScript中,你可以这样写:

var doc = {cards: []}

// User adds a card
doc.cards.push({title: 'Reticulate splines', done: false})

// User marks a task as done
doc.cards[0].done = true

// Save the document to disk
localStorage.setItem('MyToDoList', JSON.stringify(doc))

特点和设计原则

  • 网络不可知论者。Automerge是一个纯粹的数据结构库,不关心你使用的是什么类型的网络。

  • 不变的状态。Automerge对象在某个时间点是应用程序状态的不可变快照。无论何时进行更改,或者合并来自网络的更改,都会返回一个反映该更改的新状态对象。

  • 自动合并。Automerge是所谓的无冲突复制数据类型(CRDT),它允许在不需要任何中央服务器的情况下自动合并不同设备上的并发更改。

  • 相当便捷。已经在Node.js,Chrome,Firefox和Electron上测试了Automerge 。

建立

如果您在Node.js中,则可以通过npm安装Automerge:

$ npm install --save automerge

然后你可以require('automerge')导入它。

使用这个存储库,可以使用下面的命令:

  • npm install - 安装依赖关系。

  • npm test - 在Node中运行测试套件。

  • npm run browsertest - 在Web浏览器中运行测试套件。

  • npm run webpackdist/automerge.js为Web浏览器创建一个捆绑的JS文件。

本文地址:https://codercto.com/soft/d/2861.html

C++设计新思维

C++设计新思维

(美)Andrei Alexandrescu / 侯捷、於春景 / 华中科技大学出版社 / 2003-03 / 59.8

本书从根本上展示了generic patterns(泛型模式)或pattern templates(模式模板),并将它们视之为“在C++中创造可扩充设计”的一种功能强大的新方法。这种方法结合了template和patterns,你可能未曾想过,但的确存在。为C++打开了全新视野,而且不仅仅在编程方面,还在于软件设计本身;对软件分析和软件体系结构来说,它也具有丰富的内涵。一起来看看 《C++设计新思维》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具