一个基于JS的数据驱动的节点式编排组件库

主题

  说说之前做流程显示时用到的一个组件,时隔几年又被翻出来用作 "表字段血缘/业务血缘"、"可视化建模图",选来选去经过一番折腾,最后又回到了老路,就趁着中午休息简单介绍一下butterfly

发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一起聊天吹水,探索新的可能~wx:breathingss,入圈吧!

特点及效果

  之前因为又用的基础,主要就是流程图甬道及多段流程拼接显示(流程太长,分段提升自由度)问题,最重要的是,渲染用的svg模式,可以支持结合html和样式,有自动化的布局模式可以封装,同时节点的自定义也比较简单,处理好布局、数据结构、显示就轻松的解决了显示,交互和流程进度标记的问题、

  第二次处理涉及到血缘和可视化建模这些,选择面就主要集中在G6,mxGraph(process-on就是基于此实现),当然主要原因是没有参考示例,而且实现起来周期比较长,许多的生态集中在react上,本次用的是vue,过程需要做转换   当然,如果说有瑕疵的话,主要是滚动缩放及定位方面,稍稍有些不够流畅,但在可接受范围内,通过优化也能适当的解决,以下是官网的特点介绍

  • 开箱即用: 丰富DEMO,开箱即用,支持demo调试,导出即用
  • 全方位管理画布: 全方位管理画布,开发者只需要更专注定制化的需求
  • 强定制性: 利用DOM/REACT/VUE来定制元素;灵活性,可塑性,拓展性优秀

主要结构

  没啥太过复杂的结构,绝大部分的变形可通过布局,节点、线条、锚点 自定义实现,不过几个文件就可定义出图形,但在真实的应用中,还是需要对数据结构进行二次的处理加工,以达到使用上的便捷性。

题外话

主要是便捷性和语言的差异化,用通用的js组件,针对超大型的渲染,可能会稍弱一些,但强在便捷性、易用性上。

相关推荐
2分钟速写快排1 小时前
孔乙己的茴字有多少种写法?|AI 对话实时通信的三种实现
前端·javascript·github
Penge6663 小时前
JavaScript:BOM 详解
前端
Penge6663 小时前
Vite vs Webpack:前端构建工具原理与实战
前端
Penge6663 小时前
前端包管理工具:npm、Yarn、pnpm 快速入门
前端
Penge6664 小时前
Sass 了解
前端
Penge6664 小时前
Webpack 打包从 0 到 1 实战笔记
前端
Penge6664 小时前
Webpack 入门:是什么、为什么需要、怎么使用?
前端
Penge6665 小时前
Ant Design(Antd)了解
前端
wangruofeng5 小时前
同一行代码,百种渲染:Asuka、React Native 与 Flutter 跨平台渲染机制深度拆解
前端·github
Penge6665 小时前
JavaScript 核心语法速通
前端