我希望在网站上的服务器端实现基于纯文本的更改实现多用户operational transform。
是否有推荐的非JavaScript实施?
答案 0 :(得分:2)
考虑使用Google-Diff-Match-Patch - 纯文本的差异,匹配和补丁库:
“Diff Match和Patch库提供了强大的算法来执行同步纯文本所需的操作。”
Diff:比较两个纯文本块,并有效地返回差异列表。
Diff Demo 匹配:给定搜索字符串,在纯文本块中找到最佳模糊匹配。为准确性和位置加权。
匹配演示 修补程序:将修补程序列表应用于纯文本。即使基础文本不匹配,也要尽最大努力应用补丁。
补丁演示 目前提供Java,JavaScript,C ++,C#,Objective C,Lua和Python。无论语言如何,每个库都具有相同的API和相同的功能。所有版本都有全面的测试工具。
你可以找到它here。
答案 1 :(得分:0)
考虑Py-infinote。
py-infinote是JInfinote的python端口,提供协作文本编辑协议(adOPTed),可用于编写多用户协作文本编辑器。 Py-infinote用于HWIOS项目。
答案 2 :(得分:0)
这是将google wave的操作变换与jedit集成的另一个非常有趣的实现:
答案 3 :(得分:0)
OpenCoweb是一种流行的OT实现。有几种服务器实现用不同的语言编写。
答案 4 :(得分:0)
简单的参考实现,我将在未来几个月通过添加更复杂的东西来改进;
现在它有: