多看助手也已支持Firefox

多看助手发布至今已有两年时光, 由于多看阅读的官网几乎没有更新, 所以扩展本身也没有任何的更新. 最近趁着把自己的扩展移植到Firefox的这股劲儿, 把多看助手用TypeScript重写了一遍, 回过头看, 2016年写的ES6代码真是惨不忍睹. 除了扩展本身的更新, 我还计划着重写和开源Go语言编写的后端代码, 毕竟HTTP服务端到了8102年还不支持HTTP/2是没什么道理的.

多看助手 2.0

除了少数bug修复和阅读器相关的功能被彻底移除以外, 功能和原来基本是一样的, 能够满足追求性价比的购物需求.

Firefox插件安装地址

拜我自己写的扩展所赐, 我在多看已经买了400多本书, 而看过的书还不足300本. 只要你的浏览器版本足够新, 连接互联网又正常, 安装这款扩展有助于你剁更多的手, 我已经pay了, 您pay吗?

扩展的Github仓库现在也不是原来那样干巴巴一片, 补充了README文档:

BlackGlory/duokan-helper: 提供多看阅读(duokan.com)的最低价格显示、折扣提醒等增强功能.

关于Opera和Vivaldi

我彻底放弃了Opera, 原因和上一篇文章写的一样, 过慢的审核速度令人难以忍受.

相比之下, 由Opera创始人另起炉灶创立的Vivaldi反而是一个更好的浏览器, 不但直接支持Chrome的扩展商店, 还具备Opera最初的设计理念. 不得不承认, Opera现在已经是过去式了.

关于Firefox

不得不说, Mozilla的审核人员是敬业的, 他们真的有在审核代码, 我有一次故意没有提供人类可读的源代码, 他们很快就发来了需要提供源代码否则下架扩展的邮件, 虽然我依然坚持认为他们根本没有能力完整审查每一个扩展程序的代码...

审查真的有在干活是一回事, 浏览器开发本身就是另一回事了, 我在使用Firefox的过程中发现了许多奇怪的问题, 其中甚至还有内存泄漏的问题. 我的机器上安装了稳定版和开发者版两个版本的Firefox, 如果我在稳定版上看到一个奇怪的问题, 我会选择在开发者版上试试能否复现, 但结果一般是即便隔开了一个主版本号, 旧版本号上的问题依然没有被修复. 在Bugzilla(Mozilla的错误追踪系统)上, 你还能找到不少超过一年仍没有被修复的bug, 我不得不怀疑使用这款浏览器的开发人员已经非常稀少了.

总的来说, 现阶段不推荐在Firefox上开发和移植扩展程序, 其中最关键的原因在于Firefox自带的开发者工具的部分功能在支持Web Extension时的表现与预期不同, 你很可能会错过一些本该被轻易发现的问题, 将要发布的Firefox 59依然不是一个适合扩展开发者使用的版本, 我想这也是一些从Chrome移植过来的程序依然处于Beta或实验状态的原因.

关于TypeScript

与一开始就是TypeScript项目的Copycat不同, 多看助手是在这次重写后由Babel支持的原生JavaScript项目变成了TypeScript项目. 两年前我曾在漫谈 JavaScript 方言与派系表达过对TypeScript的不满情绪, 两年后的今天, 虽然TypeScript依然没有得到广泛的生态支持, 有大量的模块仍在使用着低版本的定义文件或根本没有定义文件, 对部分ES模块依然不具备良好的兼容性(最糟糕的事莫过于为了通过编译器检查而去写一些多余的废代码), 但确实已经完成了作为JavaScript超集的作用. 使用静态类型检查在重构方面是明显有优势的, 而同样提供静态类型检查的Flow不够TypeScript严格, 且如果仅考虑支持ESNext的话, Babel的配置繁琐且生成的输出文件不够干净, 所以现阶段TypeScript已经是名副其实的重构代码和实现大型项目的最佳选择.