主题
说说之前做流程显示时用到的一个组件,时隔几年又被翻出来用作 "表字段血缘/业务血缘"、"可视化建模图",选来选去经过一番折腾,最后又回到了老路,就趁着中午休息简单介绍一下butterfly
发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一起聊天吹水,探索新的可能~wx:breathingss,入圈吧!
特点及效果
之前因为又用的基础,主要就是流程图甬道及多段流程拼接显示(流程太长,分段提升自由度)问题,最重要的是,渲染用的svg模式,可以支持结合html和样式,有自动化的布局模式可以封装,同时节点的自定义也比较简单,处理好布局、数据结构、显示就轻松的解决了显示,交互和流程进度标记的问题、
第二次处理涉及到血缘和可视化建模这些,选择面就主要集中在G6,mxGraph(process-on就是基于此实现),当然主要原因是没有参考示例,而且实现起来周期比较长,许多的生态集中在react上,本次用的是vue,过程需要做转换 当然,如果说有瑕疵的话,主要是滚动缩放及定位方面,稍稍有些不够流畅,但在可接受范围内,通过优化也能适当的解决,以下是官网的特点介绍
- 开箱即用: 丰富DEMO,开箱即用,支持demo调试,导出即用
- 全方位管理画布: 全方位管理画布,开发者只需要更专注定制化的需求
- 强定制性: 利用DOM/REACT/VUE来定制元素;灵活性,可塑性,拓展性优秀
主要结构
没啥太过复杂的结构,绝大部分的变形可通过布局,节点、线条、锚点 自定义实现,不过几个文件就可定义出图形,但在真实的应用中,还是需要对数据结构进行二次的处理加工,以达到使用上的便捷性。
-
插件
-
React & Vue支持
- React butterfly组件支持 [不维护,推荐用原生小蝴蝶]
- Vue2 butterfly组件支持
题外话
主要是便捷性和语言的差异化,用通用的js组件,针对超大型的渲染,可能会稍弱一些,但强在便捷性、易用性上。