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