Thoughts 所思
简介
Thoughts 是 Teambition 出品的一款企业知识管理应用,如果你没听过的话,可以想一下语雀、飞书、Notion 等,跟他们是同类的。
项目基于 React + TypeScript 进行开发,Node 作为 BFF。核心编辑器基于 Slate 开发,很多段落式富文本编辑器的开发都是基于这个框架进行的。该项目最大的两个难点,在于「富文本编辑」和「协同冲突检测与处理」,前者难点在于富文本场景的复杂性,具体可以参考 知乎上关于这个问题的讨论,基本上都讲到了;后者则涉及到 OT 和 CRDT 算法,是个值得深究的领域。
其中我参与了协同算法的部分实现,并负责了 Roadmap、Image 等组件的开发、全站多主题、多语言的实现,以及 Stylus 迁移至 Sass、CSS Modules 化、ts-loader 迁移至 Babel 等工程化基建的改造。
周期
2019 年 7 月 - 2020 年 6 月
起止时间均为我参与该项目的时间,并非该项目本身的起止时间。