之前的文章讲过YOHO平台是因营销搭建平台的需求而诞生的,而后我们有了让它能够服务到更多平台的想法。三月底的时候,直播业务的同学找到我们,希望能够借助我们的平台实现编排。彼时的YOHO还不足以承接外来业务,所以在4月份开始了通用性的改造。
G6到X6
YOHO早前是基于G6开发的,逻辑编排对图形编辑的要求比较高,而G6更加侧重于图形展示、数据可视化,以及基于canvas的高性能。团队的小伙伴最初通过G6实现了一版编排,能力都没问题。后来想要不断优化画布能力的时候,就比较累心了。
无论是对齐还是连接线路径计算,都需要自己实现。对图形可以自由编辑也是有诉求的,这些都是开发量,需要人力与时间。X6则不同,它的强点就在图形编辑上,可以说图形操作的一切辅助能力你都不需要去关心,因为它都内置了能力支持。我们愿意花费一点时间从G6切到X6,因为他会为我们后期节省更多的时间。
另一方面,G6 绘制图形只能通过 G6 提供的 Shape 属性绘制或者类 JSX 语法来自定义节点,对于会有丰富图形的场景,让接入的同学去绘制,还是需要一定的成本的。而X6你可以通过 HTML 或者 React 或者 Vue 进行渲染,这个对于我们来说是更加熟悉的。
所以,从G6向X6的转换正是基于两点考虑:
- X6精于图形编辑,G6精于数据可视化
- X6比G6更加容易上手开发
- 编排场景对性能要求不高,X6可以满足需求