抉择与缘分

晃晃悠悠入行工作8年有余,技术栈和岗位角色也是换了又换,确实一事无成,但又庆幸老婆孩子热炕头,同时心里还有对科技和行业的热情,对未来虽然有焦虑,但手艺人勤劳能养家糊口的信心还是有。逐步在找自己热爱的行业,喜欢的方向,不愿意只是为了一份工作就麻木的干着。关于可视化,兜兜转转,我又绕回来了,谨此记录学习的心路历程。

从小喜欢玩游戏,游戏带给我近视眼之外,也给我留下了很多美妙的回忆。关于游戏制作倒是了解得不多,但是直观得感受总是有的。后面上了大学,偶然接触到PhotoShop和Flash,还是狠着心学了一阵,然最后在我手上也只能改变一点拙劣的效果,审美的缺漏可不是突击工具就能学会的,只好暂时放弃,到后面学习java,也是从swing能做更具象的界面程序有了兴趣,自己一阵倒腾出了各种小游戏,也是很愉快的一段经历。后面工作犹如普通玩家一路打怪,没神装,更没外挂,一直在三四流徘徊。机缘巧合,公司业务方向由后端转向前端,也经手了几次技术栈升级,然普通的UI效果终是很快满足不了自己的好奇心,加上业务需要,开始做一些简单图表,开始做一些普通图表无法做到的工具,也开始尝试一些更有视觉冲击力的技术。
18年之后渐渐有了一些忙里偷闲的时间,同时也运用Canvas等技术为自己赚到了第一桶金,即使现在拿出来看,虽然有很多可以重构提升的地方,但依然有不少黑科技,至少在当时无法用任何现成的开源的工具或框架来完成,因此也积累了一套数据可视化的方法论。如何加载数据,存储数据,遍历或快速查找数据,如何做数据与视图的映射,怎样做更纯粹的离屏渲染(OffscreenCanvas),怎样做图元的绘制与拾取,怎样做图元的碰撞检测,以及怎样做局部刷新等……我相信这是一个新的起点,至少大部分普通的前端是没有这样的机会。
既然不满足于Echarts无脑式的配置,也知道了Zrender的绘制基础以及Echarts的封装,就更能做一些简单的图形化工具。后面随着大屏和各类看板的兴起,又一路学习了DataV、PowerBi等成熟工具的使用,也逐渐接触到 WebGis的操作,同时主导了一次Threejs基础Demo的实施,此时对可视化的概念又稍微加深了一层。
同样缘分总是静悄悄的来,后面接触到AntV来做图表,简单说,看上去写了更多的代码才出来的效果是比配置一下选型的Echarts能给程序员带来更大的成就感,然后着手了一个中型项目,几乎把AntV3的坑踩了一遍,虽然有很多坑,虽然文档不尽完善,但是有几点非常赞的例由,也推荐一下:

1、Antv出了很多图表的基础理论知识,教你如何处理可视化中的问题,而不是一味的给个配置说明,这相当有帮助,让你有机会能看到更深层次的处理逻辑。
2、Antv G2系列基于G 框架,有一套图形语法,可以更灵活的去定制,并且嵌入应用程序中,同时有了第一条的理论支撑,会吸引你去看在实际的代码中如何去解决这下理论问题。
3、Antv的文档最初确实不够友好,有些问题也确实带来了明显的不友好,但是更新速度还是比较快,一直在路上的感觉挺好。
经过这一轮摸爬滚打,公司的图表库也逐渐从Highcharts迁移到了Antv系列,甚至逐渐有了图表规范和渐渐有了图表库。
在折腾完二维的图表之后,刚好公司有三维项目,虽然是Unity3d做的,一时兴起,在2020年国庆期间把基础的u3d捣腾出了,不过后面在公司正式运行项目时,资源太大我的机器直接无法启动,没办法,至少暂时放弃重量级选手,兜兜转转,我又回到轻量级webgl框架threejs之上来折腾。
一路走来,挺有缘分的吧,也好久没写点文字了,所以想单独开一个系列,聊聊可视化,从Threejs开始……

你可能感兴趣的:(抉择与缘分)