25

折腾了一个月的 2019 年 “为自己写的项目” 基本能用了,分享点踩坑经验

 4 years ago
source link: https://mp.weixin.qq.com/s/Sjocs8wV4Tf6-_qqwZ-2zA?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

UjYVfye.jpg!web

折腾了一个月的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 的官方库里不支持中文 qQVRziv.png!web 在网上扒了中文补丁,发现效果差强人意。

relation-pouchdb 就是个半成品,功能太少。

Editor.js 的主程序结构不错,逻辑也清晰。但插件写得太匆忙,细节不够。举例而言,它的表格插件,只能添加行和列,不能删除,不能删除,不能删除 fi6Znaj.png!web

不过 Editor.js 这种 block editor 的扩展性是真好,可以非常自由的定义各种想要的块,终于有希望做到我想象中的手帐级的效果了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK