图片
最近一直在研究可视化工作流, 也开源了自己基于 react-flow 实现的工作流编辑器:
图片
开源地址:https://github.com/MrXujiang/flowmix-flow
接下来就来和大家分享一下市面上常用的开源工作流项目, 以及如何快速上手实现自己的工作流引擎.
市面上开源的工作流引擎都有哪些
图片
在搜索引擎刷了一圈, 找到几个还算比较靠谱的开源方案:
mxgraph
antv/g6
antv/x6
react-flow
logicFlow
接下来我会一一和大家介绍一下.
1. mxgraph
mxGraph 是一个 JavaScript 图表库,可以快速创建交互式图形和图表应用程序,这些应用程序可以在主流浏览器中运行。mxGraph 提供图形绘制、图形可视化、图形交互、图形布局、图形分析等能力, 适用于工作流程图、BPMN图、网络图、UML图、循环图、组织结构图、MindMap图、机架图、甘特图、信息图、平面图等绘制。
图片
mxGraph创建于2005年,作为商业项目一直持续到2016年,2016年创建者以 Apache 2.0 开源协议在 GitHub 上公布源码。
github地址: https://github.com/jgraph/mxgraph 文档地址: http://jgraph.github.io/mxgraph/docs/js-api
我们熟悉的 draw.io 就是基于这个库来实现的, 惊不惊喜, 意不意外~
2. antv/g6
antv/g6 是我4年前在公司项目中使用过的, 虽然当时文档非常“难啃”, 好在后面把技术攻克了, 项目也顺利上线, 所以这里给大家分享一下. 它是阿里开源的一款图形引擎, 我们可以使用它实现各种图编辑器:
图片
不过我觉得最近更新的版本中对老版本做了毁灭性升级, 导致老项目可能会出现升级成本, 加上文档中一些API都是过时的, 所以建议官方团队对文档准确性和及时性提供一定的保障.
github地址: https://github.com/antvis/G6
3. antv/x6
antv/x6 是一款流程编排解决方案, 之前的项目中虽然也使用过, 但是个人觉得灵活度还是不够, 感兴趣的朋友也可以参考研究一下:
图片
github地址: https://github.com/antvis/X6
4. react-flow
图片
react-flow 是我用下来使用体验最好的一款流程引擎, 从性能和灵活度上, 我觉得都非常适合作为底层流程引擎来使用, 所以我今年花了3个月的时间研究这款项目, 也设计了一款工作流引擎, 同时基于自己的实践, 开源了一款工作流编辑器:
开源地址:
https://github.com/MrXujiang/flowmix-flow
我强烈推荐大家学习一下这款开源项目.
5. logicFlow
图片
logicFlow 是滴滴团队开源的一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow 支持前端自定义开发各种逻辑编排场景,如流程图、ER图、BPMN流程等。在工作审批流配置、机器人逻辑编排、无代码平台流程配置都有较好的应用。
虽然早期版本我之前体验了还是很难满足我的需求, 但是最新的版本提供了更灵活的配置, 所以大家感兴趣也可以尝试一下~
github地址: https://github.com/didi/LogicFlow
工作流引擎的应用场景
这里分享一下我对工作流应用的一些看法.
1. OA审批流程
图片
从我们用的办公软件比如钉钉, 飞书, 里面有各种审批, 其实都可以用可视化工作流来配置, 工作流目前在OA领域的应用我觉得是最明显的.
2. AI领域的Workflow
图片
这两年AI无疑是一个非常热门的话题, 业界比较知名的AI应用 Dify, 底层的工作流就是采用React-flow 来实现, 所以我们可以基于workflow, 来构建我们的AI应用.
3. 低代码/零代码产品的流程引擎
图片
这块也是我主要研究的方向, 目前很多知名低代码平台基本上都配备的流程引擎, 来实现业务逻辑的可视化设计.