展望流星创建协作文档编辑应用程序,因为它的伟大,流星默认同步多个客户端之间的数据。
但在萨米尔Kalburgi的例子使用文本区域时,如
http://www.skalb.com/2012/04/16/creating-a-document-sharing-site-with-meteor-js/
http://docshare-tutorial.meteor.com/
经验是次优的。
我试图在同一时间输入与当她输入一个同事和我的改变将被覆盖,反之亦然。 因此,在解决冲突没有合并的算法,但我觉得呢?
这是计划的功能? 是否有目前实现这种方式? EtherPad的似乎来处理这个问题相当好。 流星有这样会使方式更容易创建协作文档编辑应用程序。
所以,我看着它多一些,在EtherPad的所使用的算法被称为操作转换:
该解决方案是操作转换(OT)。 如果你还没有听说过它,OT是一类是做多站点的实时并发算法。 OT就像是实时的饭桶。 它的工作原理与滞后的任何数量(从零到假日顺延)。 它可以让用户进行低带宽现场,同时编辑。 OT给你不重试多个用户之间最终一致性,没有错误,没有被覆盖的任何数据。
不幸的是,实施OT很烂。 有一个亿的算法有不同的权衡,大多被困在学术论文。 该算法是真的很难和费时的正确实施。 我们需要一些好的库,因此,任何项目都可以只需插上OT,如果他们需要它。
那是从该网站的sharejs 。 使Node.js基于OT服务器的客户端,你可以连接到您现有的客户。
OT是在Node.js的的赛车模型同步引擎,形成了德比的基础还实施。 目前,derby.js没有透明地提供过,但他们计划过,从德比文档 :
目前,赛车默认为顺序应用所有交易收到的,即最后写入者胜。 (......)赛车(也)支持通过软件事务内存(STM),操作转换(OT),和DIFF匹配补丁技术的组合解决冲突。
这些功能未完全实现还没有,但赛车演示显示STM和OT的初步例子。
巧合的是,无论是sharejs和derbyjs团队有一个前在船上谷歌-动摇。 流星有前EtherPad的/谷歌动摇他们的核心团队。 由于EtherPad的是OT最著名实现一个我想象流星一定会想在某个点来支持它,以及...
我创建了一个流星智能封装,集成ShareJS:
https://github.com/mizzao/meteor-sharejs
它现在是相当初步的,但你可以将其导入到你的应用程序,在下降textarea
S,它“只是工程”。 请尝试,并且通过引入请求提交了一些新的功能:)
点击这里,查看演示:
http://documents.meteor.com
你描述的似乎超出范围流火我。 它不是一种工具来建立合作的可能性!
它所提供的是一种透明针对服务器数据库的一个子集工作。 但是,用例的具体合并功能的实现是应用程序的工作,而不是框架。