三甲:在线富文本编辑器的架构设计及实践

本文分享了蚂蚁集团语雀编辑器技术同学三甲在GMTC大会上的演讲内容,探讨了在线富文本编辑器的架构设计与实践。文章介绍了语雀编辑器家族,特别是文档编辑器的演进历程,深入讲解了富文本编辑器的工作原理,包括在浏览器上如何呈现和编辑富文本。此外,还详细阐述了语雀第三代和第四代文档编辑器的架构,强调了第四代编辑器的数据和视图分离、数据结构严格受控的设计目标,并展望了未来编辑器的优化方向。
摘要由CSDN通过智能技术生成

在这里插入图片描述

12月5日, 极客邦(InfoQ)在深圳举办 GMTC
大会,蚂蚁集团语雀编辑器技术同学三甲受邀参加大会并分享《在线富文本编辑器的架构设计及实践》,以下内容是根据现场演讲收集整理。

大家下午好,我叫韩聪,花名三甲。现在在蚂蚁集团语雀团队负责语雀文档编辑器的研发工作。

今天在这边和大家分享的是我们语雀在富文本编辑器上的架构设计和实践。

语雀编辑器家族

首先,我们先来认识一下语雀的编辑器家族。语雀发展到现在我们已经诞生了 7 款类型不同的编辑器。老大是文档编辑器,它是基于传统的 DOM 技术来构建的,老二是目录编辑器,也是 DOM 技术来构建的。老三是工作表,他是基于 Canvas 构建的。老四和老五都是图类型的编辑器,他们是基于 SVG 技术来构建的。老六是演示文稿,也是 SVG 技术。

在这里插入图片描述

认识语雀文档编辑器

今天和大家分享的是我们的老大 —— 文档编辑器。先简单看一下这个文档编辑器的界面,是非常经典的一个布局,顶部是我们的工具栏区域,我们把一些常见的高频功能罗列出来放置于工具栏当中,供大家使用。
右侧是我们的功能扩展面板区域,这个区域常驻的是我们文档的大纲,根据用户的操作不同,这边还会出现其他的功能面板,比如图片设置面板以及附件下载控制面板。
中间是文档的编辑区域,这是我们编辑器工作的核心区域,编辑器下大部分的代码都是在处理这个区域上用户产生的交互。

在这里插入图片描述

这是语雀富本文编辑器填充后内容之后的一个效果。

在这里插入图片描述

富文本编辑器工作原理

像这样的一个富文本编辑器,它背后的工作原理是什么呢?
其实在我的角度来看的话,我觉得其实只要清楚这两个问题就好了。第一个问题就是:在浏览器上我们如何去呈现富文本。第二个就是:在浏览器上我们如何去编辑富文本,我们来展开看一下

在这里插入图片描述

在浏览器上如何呈现富文本?

首先我们需要先搞清楚什么是富文本,传统意义上的富文本其实是相对于纯文本的概念提出来的。简单来说就是具有丰富格式的文本。
回到这个问题本身,我们怎么去在浏览器上去呈现这些内容呢?那就必然离不开这个浏览器的内容呈现技术。浏览器为我们提供的内容呈现技术大致上有 3 种:SVG 、Canvas 和 HTML + CSS。

这三种技术我们到底应该选哪一种来呈现我们的富文本呢?我给出的答案是 HTML + CSS,为什么呢?因为它足够简单,另外它的扩展非常方便。通常情况下,我们要实现相同的 UI 效果的话,HTML + CSS 是这三种技术中最简单的一个

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值