有多大比例的前端工程师，能在合理的时间内独立开发出一个足以供商业网站使用的文本编辑器？
刚好最近在做涉及富文本编辑的项目，我的答案是没有。理由简单说一句话就够了：独立开发、“合理”时间和商业级质量，三个条件最多满足两个。 这个话题下的不少答主虽然造过编辑器的轮子，但多半只满足独立开发的条件。至于达到独立开发与商业级质量两个条件的开源编辑器项目，目前接触到的例子主要也只有这几个（别拿某个内部系统说事，这里说的使用都是对外产品上的使用）。按照开源时间排序： 后两者答主都合了若干 PR 进去，应该还算比较熟悉吧。这里要注意的是，其它答案下提到的 TinyMCE、Draft.js、UEditor 等轮子，都是团队的作品，甚至像 TinyMCE 这样已经构成了一家公司的核心业务，已经不能用来衡量单人的开发能力了。那么，单人开发一个富文本编辑器到“稳定”质量，需要多长时间呢？几天？几周？几个月？ Quill 从 2012 年收到第一个 Issue 到 2016 年发布 1.0 版本，已经过去了四年；ProseMirror 作者在 2015 年正式开源前筹款维护时已经开发了半年，而到前两个月发布 1.0 版本时，已经过去了接近三年。至于 Slate 虽然理念先进（它能让你用 React 编写编辑器中的表格等组件且支持嵌套，这个 Draft.js 做不到），但开源至今接近两年，仍然有一堆边边角角的 bug 会让你用起来莫名其妙，实时协作的支持也还只是停留在纸面上（别相信开源项目里 Leave it to you to decide 的说法，这意思就是这个地方坑太大，你急你来填）。总之，上面这几个单人主导的编辑器项目要达到稳定质量，时间是以年为单位来计算的。考虑到目前互联网“下周上线”的节奏，动辄几年的时间算“合理”吗？ 如果他们的项目都没有办法在“合理”的时间内完成，那么是富文本的坑太大，还是这两位作者太菜了呢？ProseMirror 的作者 Marijn 是 CodeMirror 编辑器和 acorn 解释器的作者，前者已经在 Chrome 和 Firefox 自带的调试工具里使用了，后者则是 webpack 的依赖。而 Slate 的作者 Ian 则是 Metalsmith 生成器、Myth 预处理器、Superstruct 类型校验等数千 star 项目的作者（这里顺便给答主的 Bumpover 打个广告，一个基于 Superstruct 的数据迁移工具）。当然了，他们跟各位知乎大牛肯定还是没得比，毕竟人家都没开过 C++ 的 Live 嘛。不过以答主的粗鄙见闻，在前端富文本编辑的这个细分领域里，已经很难找到比他们更靠谱的人了。 所以这里面到底有什么坑呢？其它答案里对于多语言、RTL、排版等从 Word 出发的概念已经有有很完善的介绍了，对于一个在浏览器里从头打造的富文本编辑器，我能想到这么一些除了 contenteditable 兼容性之外，还必须填的坑： 这些坑每一个单独拿出来都能算一个独立的轮子。比如 Superstruct 就是从 Slate 衍生出来的数据校验库，不到一个月就收获了近 3k star。可以说，有能力维护某个独立编辑器模块的前端开发者，都已经凤毛麟角了。 回到问题，题主问的是多大比例，那么我们可以做个合理的估算：去掉对开发时间的限制，这个级别的开发者在整个社区也只有个位数，考虑上写 Medium 这样闭源编辑器的作者，按百级来估算应当足够了。而使用 JavaScript 的开发者总量，是百万级。 所以这是最后的结论：满足时间、质量和人数限制的没有，去掉时间限制，也是万分之一以内的水平。（已经准备退坑保平安了，想跳坑的请多保重啊 XD