我理解的前端可视化

3,991 阅读3分钟

刚好在知乎一个问题,也搬运到这里随着深入不断完善。

最近半年多也在研究可视化相关的方向。

个人理解可视化相对来说是一个相对独立的理论的理论学科,同时也可以说是一个跨学科的体系,不止是前端,其实我们所使用的桌面系统,GUI 都属于可视化的一部分,包括算法,数据分析其实都是依靠图形化界面,也就是可视化的。这样来看可视化是非常庞大的。

所以前端可视化只是可视化方向的一个技术分支,我觉得主要是因为环境,加上浏览器的兼容,以及有 canvas 和对 webgl 的友好支持,基本涵盖了 2D 和 3D 图形化成像。

包含那些知识

我觉得既然是前端可视化,前端三架马车的基础能力肯定是必须要掌握的。接着可视化方向重点了解一下 canvas 和 webgl,canvas 相对还好,webgl 不建议一开始直接使用,可以看看 three.js,包括其中的例子,都值得看看。国内外也有比较好的可视化库,比如 echars,D3,highchart 等。

其实看这些优秀开源作品除了会用外,其实应该去看看为什么这个设计,有什么业务逻辑包含在里面,别人做可视化为什么要用这个,对用户友好还是思维习惯,这也是我在思考的和接着去学习的。所以除了技术本身,可视化还应该了解的知识还有设计,交互,以及产品业务思维。逐渐深入可能还会接触到图形学和数学知识等。

我觉得以上知识,短时间内一个人不太容易搞定,可以慢慢培养,一个成体系的可视化作品肯定需要不同的人协作的,多思考,或者先加强自己参与的部分,扩展边界,有自己的想法。

总结一下:前端相关知识,交互 & 设计,图形学,数学,产品思维等。

是前端发展前途吗?

个人觉得是的,现在其实各行各业,随着数据,算法等逐渐增长,其实有一个好的可视化是非常有必要的。所谓「爱美之心」,谁不想通过好看的图形界面一眼看出自己想要的结果呢?

另外还有 5G 时代,势必会引发 VR,AR 等行业的兴起,网速加快,流量加快,谁不想让自己的网页好看一点呢。(当然性能优化也应该加入考虑......)

如何学习(随着自己深入不断完善)

这也是我正在学习的,目前我建议先会用优秀的库,会看,然后最好带一点自己的思考。就比如很多优秀的计算机教材都提到「自顶向下***」什么的,用好,深入,再用好,再深入,查漏补缺,在循环中积累经验,扩展边界。