协同编辑器的历史性清单 ====== 按时间顺序快速列出主要协同编辑器的演变。 正如任何这样的清单一样,它必定会在一开始便提到被誉为“[所有演示之母][25]the mother of all demos”,在这个演示里[道格·恩格尔巴特][26]Doug Engelbart早在 1968 年就描述了几乎所有软件的详尽清单。这不仅包括协同编辑器,还包括图形、编程和数学编辑器。 一切都始于那个演示,只不过软件的实现跟不上硬件的发展罢了。 > 软件发展的速度比硬件提升的速度慢。——沃斯定律 闲话少说,这里是我找到的可圈可点的协同编辑器的清单。我说“可圈可点”的意思是它们具有可圈可点的特征或实现细节。 | 项目 | 日期 | 平台 | 说明 | | --- | --- | --- | --- | | [SubEthaEdit][1] | 2003-2015? | 仅 Mac|我能找到的首个协同的、实时的、多光标的编辑器, [有个在 Emacs 上的逆向工程的尝试][2]却没有什么结果。 | | [DocSynch][3] | 2004-2007 | ? | 建立于 IRC 之上! | | [Gobby][4] | 2005 至今 | C,多平台 | 首个开源、稳固可靠的实现。 仍然存在!众所周知 [libinfinoted][5] 协议很难移植到其他编辑器中(例如: [Rudel][6] 不能在 Emacs 上实现此协议)。 2017 年 1 月发行的 0.7 版本添加了也许可以改善这种状况的 Python 绑定。 值得注意的插件: 自动保存到磁盘。| | [Ethercalc][27] | 2005 至今 | Web,JavaScript | 首个电子表格,随同 [Google Docs][28]。 | | [moonedit][7] | 2005-2008? | ? | 原网站已关闭。其他用户的光标可见并且会模仿击键的声音。 包括一个计算器和音乐定序器。 | | [synchroedit][8] | 2006-2007 | ? | 首个 Web 应用。| | [Inkscape][29] | 2007-2011 | C++ | 首个具备协同功能的图形编辑器,其背后的“whiteboard” 插件构建于 Jabber 之上,现已停摆。| | [Abiword][30] | 2008 至今|C++| 首个文字处理器。| | [Etherpad][9] | 2008 至今 | Web |首款稳定的 Web 应用。 最初在 2008 年被开发时是一款大型 Java 应用,在 2009 年被谷歌收购并开源,然后在 2011 年被用 Node.JS 重写。使用广泛。| | [Wave][31]|2009-2010|Web, Java| 在大一统协议的尝试上失败。| | [CRDT][10] | 2011 | 特定平台| 在不同电脑间可靠地复制一个文件的数据结构的标准。 | | [Operational transform][11] | 2013 | 特定平台| 与 CRDT 类似,然而确切地说,两者是不同的。 | | [Floobits][12] | 2013 至今 | ? | 商业软件,但有对各种编辑器的开源插件。 | | [LibreOffice Online][32]| 2015至今| Web| 免费的 Google docs 替代品,现已集成到 [Nextcloud][33] | | [HackMD][13] | 2015 至今| ? | 商业软件,[开源][14]。灵感来自于(已被 Dropbox 收购的) hackpad。 | | [Cryptpad][15] | 2016 至今 | Web ? | Xwiki 的副产品。服务器端的加密的、“零知识” 产品。| | [Prosemirror][16] | 2016 至今 | Web, Node.JS | “试图架起消除 Markdown 文本编辑和传统的所见即所得编辑器之间隔阂的桥梁。”不是完全意义上的编辑器,而是一种可以用来构建编辑器的工具。 | | [Qill][17] | 2013 至今 | Web, Node.JS | 富文本编辑器,同时也是 JavaScript 编辑器。不确定是否是协同式的。 | | [Teletype][19] | 2017 至今 | WebRTC, Node.JS | 为 GitHub 的 [Atom 编辑器][20] 引入了“门户”的思路 ,使得访客可以夸多个文档跟踪主人的操作。访问介绍服务器后使用实时通讯的点对点技术(P2P),基于 CRDT。 | | [Tandem][21] | 2018 至今 | Node.JS? | Atom、 Vim、Neovim、 Sublime 等的插件。 使用中继来设置基于 CRDT 的 P2P 连接。多亏 Debian 开发者的参与,[可疑证书问题][22]已被解决,这使它成为很有希望在未来被遵循的标准。 | ### 其他清单 * [Emacs 维基][23] * [维基百科][24] -------------------------------------------------------------------------------- via: https://anarc.at/blog/2018-06-26-collaborative-editors-history/ 作者:[Anacr][a] 选题:[lujun9972](https://github.com/lujun9972) 译者:[ZenMoore](https://github.com/ZenMoore) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]:https://anarc.at [1]:https://www.codingmonkeys.de/subethaedit/ [2]:https://www.emacswiki.org/emacs/SubEthaEmacs [3]:http://docsynch.sourceforge.net/ [4]:https://gobby.github.io/ [5]:http://infinote.0x539.de/libinfinity/API/libinfinity/ [6]:https://www.emacswiki.org/emacs/Rudel [7]:https://web.archive.org/web/20060423192346/http://www.moonedit.com:80/ [8]:http://www.synchroedit.com/ [9]:http://etherpad.org/ [10]:https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type [11]:http://operational-transformation.github.io/ [12]:https://floobits.com/ [13]:https://hackmd.io/ [14]:https://github.com/hackmdio/hackmd [15]:https://cryptpad.fr/ [16]:https://prosemirror.net/ [17]:https://quilljs.com/ [18]:https://nextcloud.com/collaboraonline/ [19]:https://teletype.atom.io/ [20]:https://atom.io [21]:http://typeintandem.com/ [22]:https://github.com/typeintandem/tandem/issues/131 [23]:https://www.emacswiki.org/emacs/CollaborativeEditing [24]:https://en.wikipedia.org/wiki/Collaborative_real-time_editor [25]:https://en.wikipedia.org/wiki/The_Mother_of_All_Demos [26]:https://en.wikipedia.org/wiki/Douglas_Engelbart [27]:https://ethercalc.net/ [28]:https://en.wikipedia.org/wiki/Google_docs [29]:http://wiki.inkscape.org/wiki/index.php/WhiteBoard [30]:https://en.wikipedia.org/wiki/AbiWord [31]:https://en.wikipedia.org/wiki/Apache_Wave [32]:https://wiki.documentfoundation.org/Development/LibreOffice_Online [33]:https://nextcloud.com/collaboraonline/