每日一博 | 有道云笔记新版编辑器架构设计(上)
在开发有道云笔记的新版编辑器的过程中,我们遇到很多实际问题,愈发感觉到这是一个非常有深度的前端技术领域,所以我们将新版编辑器的技术选型、架构和部分实现细节拿出来分享给大家,希望对大家开发富文本编辑器、做复杂系统的架构设计有一定参考意义。 作者/ 金鑫 编辑/ Ryan 来源/ 有道技术团队(ID: youdaotech) 1. 富文本编辑器背景 1.1 什么是编辑器 编辑器在前端开发领域是指可以提供给用户编辑纯文本、富文本、代码、多媒体内容等的功能模块,例如以云笔记为例,编辑器指下图中绿色的区域。 编辑器一般由编辑区域、光标、工具栏、右键菜单等功能模块组成,一般都包含编辑文字、设置文字样式、设置段落样式、插入多媒体内容、撤销重做、复制剪切粘贴等功能。 1.2 编辑器发展简史 编辑器的由来可以追溯到打字机时代,下图是一个常见的打字机。 我们可以将打字机的构造与编辑器进行类比,打字机的纸张对应于编辑器的编辑,打字机的游标对应于编辑器的光标,甚至敲击键盘的表现,编辑器也与打字机一脉相承: 当敲击字母时,在光标后输入该字符; 当敲击空格键时,在游标之后插入空格; 当敲击回格键时,删除游标之前的...

