折腾了一个月的2019年「为自己写的项目」基本能用了,是一个基于 Editor.js 的日记/笔记 软件,预计到这个月底基本能写完0.1版本。分享点踩坑经验。
为了可以跨三大桌面操作系统+Web,离线使用+实时同步。架构上采用了基于electron+pouchdb。
但这两个核心组件都有坑的地方。
比如 electron4.x的定位接口是坏的,而且官方不修。用到地理信息的APP不要选这个版本。
启用了electron半透明背景,在Mac上看起来还不错,但有同学反馈说在部分windows系统上对显卡驱动敏感(还没来及测试兼容性)
另外 electron 里边 btoa 1M以上的大图片会崩溃,幸好可以通过 buffer 来绕过。
pouchdb属于看起来很美,用起来很坑的项目。
官方代码弄得不错,但文档比较简略。经常把用户支去读CouchDB的文档。
周边生态又没跟上7.x的升级。
举例而言,全文检索有 pouchdb-quick-search,但这个项目并没有同步升级到7.x,使用的时候会发现缺少函数。
pouchdb-quick-search 这个项目的多语言又依赖 lunr.js 做分词,但lunr.js 的官方库里不支持中文 在网上扒了中文补丁,发现效果差强人意。
relation-pouchdb 就是个半成品,功能太少。
Editor.js 的主程序结构不错,逻辑也清晰。但插件写得太匆忙,细节不够。举例而言,它的表格插件,只能添加行和列,不能删除,不能删除,不能删除
不过 Editor.js 这种 block editor 的扩展性是真好,可以非常自由的定义各种想要的块,终于有希望做到我想象中的手帐级的效果了。
原文 https://mp.weixin.qq.com/s/Sjocs8wV4Tf6-_qqwZ-2zA