vanspeak 的背后
10月中下旬,团队正式开源vanspeak.js,一款支持英语发音的插件。
vanspeak 支持指定单词或者长句子的发音,兼容主流浏览器以及移动端浏览器。
API设计
前些天看到一条内容,高级工程师越来越多的时间花费在 设计 。设计确实特别重要,这次在api设计时候就遇到问题了,由于兼容以前的项目(这个项目来源于实际需求上的,随后总结独立出来的),因此preAudio这个API显然就非常不合理。所以事先,设计好每个API非常有必要。
测试
由于项目开源,需要每次提交都做好单独测试,虽然之前都有过在开发过程中的游戏测试,但实际写好单元测试,karma + jasmine还是挺不错的,包括对服务端的API进行测试。
文档 演示
如果对外发布,最好加功能说明以及演示。毕竟让用户知道怎么用和具体怎样实现无疑是非常重要的。
重视反馈
用户提出的issue非常重要,有的是bug有的是改善小建议,无论如何及时的修复和反馈会去,会让用户对这个项目至少心存一点点好感。
一些趣事
项目来源于responsevoice.js,然后让自己明白了新的JS对 TTS的支持。随后在使用过程发现了对方项目的各种bug和不适应性,只好独自开发,包括剥离了语言选项,以及语速的控制。
修复了很多在移动端上的bug,而且bug相当多,比如UC浏览器的反复重播,以及小米浏览器的度过一次就没有声音了,但是在修复过程中也发现了很多浏览器对标准的支持不是特别好,比如JS生成的audio对onened事件支持无效果等。反复调试中,修复这些问题也算是一种成就。
增加缓存支持,我们抓去了常用的20000个单词生成了音频放在七牛上,代理了长句子的发音,这样避免xp的不支持,api增加对 预加载的支持。总之这都是一个团队一起努力的结果。