各位靓仔靓女,大家好!我是今天的主讲人,江湖人称“代码搬运工”。今天咱们来聊聊协同编辑的幕后英雄——Operational Transforms (OT),也就是操作转换。这玩意儿听起来高大上,其实就是一套巧妙的算法,让多人同时编辑同一份文档而不打架。 我们今天要讲的内容包括: 啥是协同编辑? 为什么要用OT? OT核心概念: 操作、转换、一致性 String OT: 字符串操作的OT,代码撸起来! JSON OT: JSON数据结构的OT,让数据飞起来! 协同编辑库: 现有的一些JS库,咱们瞅瞅它们的实现思路。 实战演练: 手撸一个简易String OT协同编辑器。 一些问题和挑战: OT也不是万能的,说说它的局限性。 好,废话不多说,咱们开始! 1. 啥是协同编辑?为什么要用OT? 协同编辑,顾名思义,就是很多人同时编辑同一份文档。这玩意儿在Google Docs、石墨文档、腾讯文档里天天见。没了它,多人在线协作就成了“你改完了我再改”的串行操作,效率低到爆炸。 那为啥要用OT呢? 想象一下,小明和小红同时编辑一篇文档: 初始状态: "Hello" 小明: 在& …
继续阅读“JS `Operational Transforms` `String OT` / `JSON OT` 算法与协同编辑库”