jsPlumb、mxGraph和Antv x6实现流程图选型

解决方案

结合我们项目以及主流解决方案,提供以下几种方案:

序号技术栈性质是否开源说明
1jsPlumb国外框架社区版、商业版中台项目现有方案
2mxGraph国外框架开源比较有名的开源绘图网站draw.io (和processOn类似),使用mxGraph 进行开发的。
3Antv x6国内框架开源阿里蚂蚁Antv产品,FineDataLink数据集成平台采用的方案,新版dolphinscheduler也已更换为Antv x6

方案比对

一、jsPlumb

jsPlumb 有社区版跟收费版,我们使用的是社区版,功能非常少。

  1. 国外框架。开源/不再维护更新
  2. 官方英文文档
  3. 功能简单,只包括一些基础功能(节点拖拽、连线等)
  4. 没有内置导航器(收费版是有这个功能的)
  5. 没有智能布局功能(需要复杂布局算法)

二、mxGraph

  1. 国外框架。开源/不再维护更新
  2. mxGraph官方文档为全英文,
  3. 文档不够友好(个人认为与GoJS文档水平差距甚远),官方给出的实例无明显的阅读顺序,导致上手难度大,学习成本比较大
  4. 较jsPlumb,功能和样例更丰富一些。
  5. 相对 jsPlumb 不能使用 css 自定义节点样式,完全通过 js 完成,比较麻烦

三、Antv x6

  1. 国内框架。开源,文档友好。快速上手,开箱即用

  2. 功能更加丰富

    1. 丰富的连线和箭头
    2. 链接桩灵活可调
    3. 支持群组
    4. 撤销/重做
    5. 小地图
    6. 滚动画布,画布平移
    7. 快捷键
    8. 复制/粘贴节点和边
    9. 对齐线
  3. 数据驱动:基于 MVC 架构,用户更加专注于数据逻辑和业务逻辑;

  4. 事件驱动:可以监听图表内发生的任何事件

  5. 支持react、vue组件渲染节点

  6. 较多的免费插件包

框架活跃度对比:

https://npmtrends.com/@antv/x6-vs-jsplumb-vs-mxgraph
在这里插入图片描述

时间成本对比:

实现工作流,大概估计一下工时:

  • jsPlumb、mxGraph:二个月
  • X6:一个月

总结

  • jsPlumb、mxGraph学习成本比较大,且不再维护更新。
  • AntV学习成本相对来说小很多,一直在持续更新中,且功能更加丰富。

外部引用参考:

  1. dolphinscheduler
    在这里插入图片描述

  2. FineDataLink

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/311013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣日记1.10-【二叉树篇】701. 二叉搜索树中的插入操作

力扣日记:【二叉树篇】701. 二叉搜索树中的插入操作 日期:2024. 参考:代码随想录、力扣 —————————————————————— 天哪,上次打开力扣还是2023,转眼已经2024?! 两个星期过去…

软件测试|如何在Linux中下载和安装软件包

简介 在Linux操作系统中,下载和安装软件包是一项基本任务。不同的Linux发行版可能有不同的包管理工具和方式,但总体流程是类似的。以下是在Linux中下载和安装软件包的详细步骤。 步骤1:选择适当的包管理工具 因为Linux有不同的发行版本&am…

代码随想录算法训练营第23天 | 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇

669. 修剪二叉搜索树 题目链接: 669. 修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二…

Vue与后端交互、生命周期

一:Axios 1.简介 ① Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 ② axios官网:axios中文网|axios API 中文文档 | axios 2.实例 json文件:film.json(这里只是一部分,原代码太多…

语义解析:如何基于SQL去实现自然语言与机器智能连接的桥梁

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 语义解析 定义 作用 语义解析的应用场景 场景一: 场景二: 总结语…

RISC-V是如何与X86、ARM三分天下

目录 1.行业CPU指令集格局 2.汽车中的RISC-V进展 2.1 国际进展 2.2 国内进展 3.小结 2023年3月2日,在平头哥牵头举办的玄铁RISC-V生态大会上,工程院院士倪光南表示,基于RISC-V模块化、可扩展、容易定制、不受垄断制约等优势,…

山羊目标检测数据集VOC格式290张

山羊,一种聪明而机敏的哺乳动物,以其独特的形态和特点而受到人们的喜爱。 山羊的体型中等,四肢强健,有着坚硬的蹄子和浓密的毛发。它们的头部较大,有着一对弯曲的角,角上有很多节状突起。山羊的毛色多为棕…

美国生物医学博士后最低年薪有望涨至7万美元

2023年底,美国国立卫生研究院(NIH)咨询小组发布了一份报告,建议将生物医学领域博士后的最低起薪从目前的56 484美元/年提高到70 000美元/年。知识人网小编结合我们了解到的情况,整理文章如下。 去年,我们知…

浅析NVMe key per IO加密技术-2

二、Key per IO功能设置的流程 设置Key Per I/O功能需要对NVMe存储设备进行一系列配置,涉及多个步骤和能力要求。以下是一个简化的流程概述: 硬件支持:首先,NVMe固态硬盘支持Key Per I/O技术,并且了解相关的NVM Expre…

使用 OpenAI 自定义 API 提高电商平台的推荐精度

一、引言 在当今的电商时代,推荐系统已成为影响用户购买决策的关键因素之一。为了提供更精准的推荐,许多电商平台纷纷寻求先进的技术支持。OpenAI 自定义 API 正是这样一种强大而灵活的工具,能够通过自然语言处理和机器学习技术,…

C++上位软件通过Snap7开源库访问西门子S7-200/LOGO PLC/合信M226ES PLC V存储区的方法

前言 在前面例程中谈到了C 通过Snap7开源库S7通信库跟西门子S7-1200PLC/S7-1500PLC以及合信CTMC M226ES PLC/CPU226 PLC通信的方式方法和应用例程。但是遗憾的是Snap7中根据官方资料显示只能访问PLC的 DB区、MB区、C区、T区 、I区、Q区,并没有提到有关如何访问S7-20…

SpringBoot+Hutool实现图片验证码

图片验证码在注册、登录、交易、交互等各类场景中都发挥着巨大作用,能够防止操作者利用机器进行暴力破解、恶意注册、滥用服务、批量化操作和自动发布等行为。 创建一个实体类封装,给前端返回的验证码数据: Data public class ValidateCodeV…

PyCharm使用手册

配置文件和代码模板 文件注释模板: 注释项描述示例Project项目名称hello_pythonFile文件名称hello_python.pyAuthor作者Zhang SanDate创建时间2024-01-11 17:05:00PyVersionPython解释器版本Python3.7Description文件描述这是一个python语言入门文件 效果示例&am…

【SSO】统一授权中心v1.0.0版本正式上线(多租户)

目录 背景 体验 技术栈 菜单 示例 背景 为了方便权限管理、用户登录授权、应用授权等,特地开发了当前的统一授权中心。 体验 邮箱注册即可登录体验 后台系统:https://sso.behappyto.cn/#/switch 技术栈 vue3tsspringbootmybatismysql 菜单 …

【2023回顾】2024,放马过来吧

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 🐸哈哈虽然不是技术文&#x…

idea 设置文件头

idea 设置创建文件时自动添加文档注释信息 /** * Description * Author jimaomao * DATE ${DATE} ${TIME} */

第11届电气与电子工程国际会议(ICEEE 2024)即将召开!

2024年第11届电气与电子工程国际会议(ICEEE 2024)将于2024年4月22-24日在土耳其马尔马里斯召开。随着电气和电子工程领域取得的重大进步,ICEEE也迈向未来,有了更多令人兴奋的发展。本次会议旨在促进对该领域最新技术进步、新兴趋势和创新理念的讨论&…

ARP协议详解

1、ARP协议的定义 地址解析协议(Address Resolution Protocol,ARP):ARP协议可以将IPv4地址(一种逻辑地址)转换为各种网络所需的硬件地址(一种物理地址)。换句话说,所谓的地址解析的目标就是发现逻辑地址与物理地址的映射关系。 ARP仅用于IPv…

Ubuntu 卸载重装 Nvidia 显卡驱动

问题描述 我使用 airsim 的时候,发现 UE4 没法使用显卡,导致非常卡顿 输入 nvidia-smi 有显卡型号等信息的输出,但是进程 process 里面没有显示 airsim 和其他软件占用显卡情况 因此,我选择了卸载重装 一.卸载旧版本的驱动 …

回归测试?

1. 什么是回归测试(Regression Testing) 回归测试是一个系统的质量控制过程,用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响(比如你在家中安装了新的空调系统,发现虽然新的空…