Simditor——Tower的在线编辑器

Simditor——Tower的在线编辑器

牛言牛言

每天,Tower的用户会产生数以千计的讨论、评论和文档。这些在Tower上进行协作、沟通的用户,很大一部分时间都是在使用Tower的富文本编辑器发起讨论、回复任务以及撰写文档。所以富文本编辑器使用体验的好坏,在很大程度上会直接影响Tower整个产品的用户体验。惭愧的是,这样重要的核心功能和体验,我们却做的很不好。用户对于编辑器的批评和抱怨一直没有间断过,这些声音一直激励着我们,一定要为Tower的用户提供一个好用靠谱的在线编辑环境。开源在线编辑器Simditor就是在这样的背景下诞生的。

为什么要写Simditor?

很多朋友都有这样的疑问,现在的开源编辑器资源那么丰富,为什么不选择一个成熟、靠谱的开源编辑器来做二次开发,而是去编写一个全新的编辑器。其实这个问题也一度让我们很纠结。

在Tower这个产品发布的早期,我们采用了一个叫做WYSIHTML5的开源编辑器,这个开源项目在早期给我们提供了很大的帮助。但是随着产品的发展和进化,我们发现第三方开源编辑器有一定的局限性,它的架构和设计有时候并不能满足产品发展的需要,导致我们经常需要在用户体验方面进行妥协,选择跟开源编辑器更契合成本更低的设计方案。WYSIHTML5逐渐成为我们追求极致用户体验的障碍。

我们意识到只有掌握核心技术,熟悉在线编辑器每一个细微的零件,我们才能为Tower的用户提供极致的编辑和写作体验。于是我们开始尝试编写自己的在线编辑器,Simditor就是若干尝试之后的阶段性成果。

Simditor是什么样的编辑器?

我们希望Simditor成为这样的编辑器:

  • 高效快速,没有多余的功能
  • 内容输出是干净标准、的HTML
  • 易于开发插件和扩展

为了让Simditor保持简单快速,我们尽可能的保留浏览器富文本编辑的默认行为(很多开源浏览器几乎完全重写了浏览器的富文本交互),用最少的代码来处理不同浏览器间的差异。

我们尽量简化了编辑器的功能,专注提升常用功能的使用体验,不常用或者不必须的功能通过扩展的方式来实现,比如emoji表情扩展实时markdown扩展

另外,我们还对编辑器里输入的所有内容(包括来自外部的粘贴内容)进行了格式化处理,保证编辑器输出是标准、干净、可维护的HTML。

我们在四月初正式开源了Simditor,并且陆续完善了相关的教程文档。老实说,这个项目目前还很稚嫩,潜在问题肯定还不少,所以我们非常需要开发者朋友们的吐槽和意见,更欢迎有时间有兴趣的朋友们为Simditor开发扩展、贡献代码,一起把Simditor打造成最好的中文在线编辑器。

10 条评论