开源编辑器 wangEditor5 发布两个月总结(官网诚接广告,攒钱租服务器)

前言

wangEditor5 于 2022.04 正式发布,当时的文章【磨剑一年】富文本编辑器 wangEditor V5 正式发布 。发布之后大家慢慢的开始使用,同时也积累了一些问题。本文就简单整理一下近期的问题,以及后续的开发计划。

安装和下载量

才两个多月的时间,v5 版本的 npm 下载量已经到了 5k 每周。v4 版本的下载量略有下降,应该是有部分用户升级到了 v5 。

image.png

访问量

根据百度统计,wangeditor.com 官网的访问量近期保持稳定,单日最高 PV 约 4k,最高 UV 约 2k 。

image.png

其中,新访客占据 51% ,老访客占据 49% 。

image.png

对于一款不算大众的开源软件,能持续的有人来访问,我觉得也算可以了。虽然不多,但还算稳定。

PS:对了,wangeditor.com 官网目前是部署在 Github Pages 服务,可能国内部分人偶尔打不开,这也许会影响到部分人的访问。这个问题马上说。

问题1 - 官网和 CDN 不稳定

这是一个很难解决的问题。

关于网站

国内没有免费的 Pages 静态网站服务。coding.net 早就关闭了这个服务,gitee 有这个服务,但普通用户无法自定义域名,只能用它的 xxx.gitee.io 这个二级域名。

而且前段时间 gitee 还对开源软件进行审核,就这情况,它要哪天突然宣布关闭 Pages 服务我一点都不觉得奇怪。当然了,这事儿不能赖人家服务商,少林寺门口收费的也不一定就是和尚,各有各的难处。

如果要自己搭建服务器,那成本可是挺高的。你可能觉得像 6.18 双11 买个云服务器也不贵呀,一年最多几百块钱 —— 对,第一年是便宜,但第二年呢,像阿里云配置最低的也得 1000 起步。别忘了还要买 https 证书呢,又 1000 。外加域名的费用,一年 2000 多就出去了。而开源软件可是不挣钱的。

有人可能以为,就买一年,第二年换个厂商继续买便宜的。这种想法也可以,但操作起来非常麻烦。你可能不知道,现在域名备案都是各个服务厂商来申请对接的,如果你不再它这买服务器了,那域名备案就会失效,你需要重新换厂商重新申请域名备案。而域名备案的申请是需要一定周期的,需要相关部门审批,这段时间网站也不能一直 404 吧?不想 404 那你就得提前操作,例如提前两周操作 —— 但别忘了,提前两周那些 6.18 双11 活动还没开始呢,也不便宜呀!死循环了吧...

所以,我暂时没有办法更换国内服务,只能继续用 Github Pages 服务。

关于 CDN

最早是把 js css 等放在 jsdelivr 上做 CDN 服务,后来一段时间 jsdelivr 直接挂掉了,也不知道啥原因。

等了几天它没修复好就无奈换成了 https://unpkg.com/ 的 CDN 服务,目前看来还算正常,先凑活用着吧。

国内比较好的 CDN 服务应该是 bootCDN,其实它也是 CDN.js 的国内镜像加速。我打算接下来同步到这个 CDN 服务上,这也是目前最好的方案了。

问题2 - 粘贴 HTML 和 word

印象中这应该是用户提问最多的问题了。

粘贴 HTML

大家的预期可能是:我复制什么样的内容和格式,粘贴过去就应该是什么样的内容和格式 —— 其实这是不可能实现的。即便是兼容大部分粘贴场景,也需要耗费大量的时间和精力。

根本原因就在于:粘贴的来源 HTML 格式是不可枚举的,你说不出它一共多少种格式。例如正常的图片应该是 <p><img src="xxx"/></p>,但粘贴的内容里可能有 <p><span><img src="xxx"/></span></p> ,即 <span> 包裹着 <img> ,这是很常见的。

所以,我的计划是

  • 普通的、正常的图文格式要尽量兼容,如 <h1> <p> <ul> 等 —— 这些现在做的已经差不多了
  • 非正常的 HTML 格式,尽量保证内容(格式先不管)。例如现在粘贴 <div> 只获取内部的文本,后面会把图片也识别出来,待开发。

剩下事情,就需要用户通过 customPaste 自定义了,

粘贴 word

对于 word wps 等粘贴还要进一步优化,原则和上面一样,尽量保证内容完整。
不过,word 中的图片不能保证可以粘贴上。因为 word 里图片都是本地文件,放在编辑器要上传(或者 base64 格式),所以至少需要用户配置了上传图片才可以实现。

粘贴,本身就是编辑器的一个难题。tinyMCE 和 CKEditor 对这个功能收费(效果如何我没用过),可见成本很高。飞书等国内大厂的编辑器,对此也是只能 case-by-case 的拼人力去优化。没有什么好办法,所以各位用户也不要太过于理想化。

问题3 - 表格:单元格格式 + 合并单元格

表格拖拽列宽

该功能已经在 v5.1 开发了,早就发布上线了。

合并/拆分 单元格

很抱歉,这个功能我不打算近期开发,因为它太复杂了。

首先,光合并、拆分、拖拽选择单元格等这些功能就足够复杂,我之前在工作中做过一个类似的项目,光拖拽选择就很麻烦。

其次,这是在编辑器内部的表格,拖拽选择了多个单元格,还要和编辑器的选区同步,这又是一个问题。搞不好有 bug 整个表格都弄丢了,风险很大。

所以,再未找到编辑器未来收益方式的前提下,我不会开发如此复杂的功能。

单元格格式

就是边框颜色,单元格背景色等。这些其实做起来也不麻烦,但会因为上文的“拖拽单元格”功能不做,而导致这个功能的体验比较差。

不过这也不是啥大问题,有时间先做出来再说吧,做一些最基本的功能。毕竟很多人提过这个需求。

问题4 - 扩展菜单和模块 - 不会用

一款优秀的软件应该具备良好的扩展性,所以 wangEditor5 也是天生具有扩展能力的。

我很庆幸很多用户开始用 wangEditor5 去自定义扩展自己的模块和功能,但也有一些用户在使用过程中受阻,表示看不懂文档,看不懂视频教程,用的很纠结。

首先,学习使用新的东西时磕磕绊绊这是常态,而且这是对于编辑器这样一个如此复杂的软件。但用户提出文档看不懂,这也是我应该反思的事情。

确实,扩展新模块很麻烦,要求 JS 基础能力扎实,而且用到了很多编辑器的 API 和配置。但越是这样,我越应该把这些东西讲清楚,通过一些例子讲清楚。

问题5 - webpack3 babel6 打包出错

这个问题让我感触比较深:虽然大家都在学习和讨论 webpack5 ,但其实还有很多老项目在用着 webpack3 以及 Vue2 的早期版本。网络世界占据眼球的东西,不一定就是你实际工作的东西。

这个问题我一直没有关心,看着有的用户解决了,也有用户没有解决。我想我应该出一个统一的解决方案,把这个问题好好说明一下。

其他问题

还有很多比较细节的问题,例如

  • onBlur 某些情况不会触发
  • 设置 maxLength 时粘贴会换行、回显表格出错
  • nuxt.js 中编译出错
  • 支持多级列表
  • 视频尺寸支持百分比
  • ……

这些问题都没有什么可讨论的,有时间慢慢做就好了。

TODO 总结

以下任务再实际开发时会继续分析优先级,按优先级顺序开发。

  • CDN 部署到 bootCDN
  • 优化粘贴 HTML 和 word ,尽量保证内容
  • 表格单元格格式
  • 优化扩展模块的文档和视频
  • 其他 bug 修复

思考:开源软件如何持久发展?

这是一个很值得思考的问题。所有持续贡献开源软件的作者都会想这个问题,现在不想,后面也会想。

近期我忙别的事情,只回复 github issues ,每天要花费 30 多分钟。如果有代码开发,那每天的时间至少 2h,甚至更多。如果按照我的工资来换算,这么多年积累下来,成本是非常高的。

只出不进是不会持久的,这个道理谁都明白。

去年我可以一门心思的开发 v5 ,先做出来再说。但 v5 发布了也比较稳定了,我就需要开始考虑这个问题。不一定现在就能得到,但要开始想了 —— 开源软件如何持久发展?

即,我如何通过开源软件得到一些收益的反馈,哪怕从一点一滴开始积累,至少有一个开始。否则,我连国内的服务器都买不起,因为现在收益是 0 。

按照传统思路,我首先想到软件付费使用,但转念一想这肯定不行。很简单,因为从来国内从来没有人这么做过,就说明不可行,否则早就有人做了,等不到我。后来一分析,根本原因在于国内的研发团队除了吃喝团建之外,貌似没有其他的预算来买这些付费的软件。所以,wangEditor 未来还会继续开源免费使用,使用 MIT 协议。

后来我和团队小伙伴开了个电话会议,有人提出一个建议:可以在官网做一些广告,特别是现在各个培训机构 0 元试学的推荐广告,这可能会有一点收益。我一想这确实是一个方法,虽然网站访问量也不太多(UV 每周 1w 左右),但这都是 web 前端的垂类用户,目标性非常清晰。

所以,如果你恰巧看到本文并且有广告的资源和联系方式,欢迎给我发邮件 [email protected] ,也算是为间接国内开源事业做一点事情了,感谢!

我一直坚信:有价值的东西一定会变现。所以我也会持续探索,欢迎大家一起讨论。

猜你喜欢

转载自juejin.im/post/7114084537097224199