知乎上遇到这个问题,随手写了点:
https://www.zhihu.com/column/c_1143220686553337856
这里所说的svg或者canvas,应该是指浏览器端的2d绘图api。我长期从事的是canvas的开发工作,就简单讲讲我开发过的三款工具吧。
斧子演示
我开始做这款工具的时候,正处于Flash应用向Canvas过渡的时期,互联网上关于Canvas开发复杂应用的案例还没有,尤其是编辑器的研发,可以说在当时算得上Canvas领域最令人拍案叫绝的应用了。
所有这些功能,除了音频之外,都是基于canvas来开发的,就是到目前为止,将近10年,我也没见过完全采用Canvas开发的编辑器能做到这个水平的。
目前知乎上和互联网上还有很多关于斧子的讨论。
斧子演示基础教程(全10) 演示文稿制作软件_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili www.bilibili.com斧子演示 www.zhihu.com
2. 一款k12 教学系统
因为公司还在正常运转,就不提名了。二期这套系统每年能给公司带来上亿的流水。简单说一下这套系统的一些核心功能吧,非canvas部分忽略。
【电子白板】
实现基本的画笔,橡皮,图片,视频、pdf,word等资源的渲染
这里有个重大的创新,就是实现了原生ppt文件在canvas上的渲染和交互。
【小学数学工具】
【平面几何】
【解析几何】
还有一些实验室功能就 不举例了。一个教学系统非常复杂,涉及到的东西非常多,这里就不展开了。
其实教学工具的开发还是挺难的,这里面很多数学知识要熟悉,绘图上要学习计算几何的专业知识。
3. 可视化研发
这是我目前的工作了,是我来到字节跳动之后专注的方向。简单展示一下我们的图表库,涉及到保密等问题,不方便说太多。
做这些工作都需要去开发什么呢?我喜欢从头开始做,所以做了如下工作:
手撸一个绘图库
手撸一个状态管理组件
手撸一套canvas ui 库
手撸一套图表库
手撸一个ppt
如果你对这些感兴趣的话,我们可以一起讨论: