jointjs和mxgraph比较

https://www.cnblogs.com/xuxg/articles/3246206.html

Jointjs 是javascript图表可视化库,依赖于backbone.js,lodash,jquery,

可以创建完全交互式应用程序,也可以用做绘制静态图的绘制工具,如工作流编辑,流程管理等。

 

主要功能点罗列如下:

1.多种图形(矩形,圆,椭圆,文本,图形,路径,ERD,组织结构图,FSA,UML,BPMN,PN .etc)

2.自定义图形,通过SVG编程方式呈现。

3.元素和链接的交互

4.链接图元素,即为图元素建立链接关系。

5.可定制化的操作,如链接,箭头样式和为元素设置标签。

6.链接操作平滑顺畅

7.元素上的端口(inport/outport)可自定义位置。

8.层级图绘制

9.JSON格式的序列化/反序列化

 (即生成数据model为json格式,也可从model格式解析为图形)

10.可以捕捉到画布中发生的任意事件,做出反应。

11.支持2D space操作的大量数学函数。

12.提供操作SVG的库。

13.放大和缩小

14.触摸支持,移动端支持。

15.动画

16.过滤器和梯度

17.Nodejs支持

18.快速的渲染能力。

19.MVC架构,代码结构清晰,易上手。



mxgraph是一个开源客户端Javascript图表库,
使用SVG和html渲染。
后台服务端还提供在java,donet,php后端语言操作图表功能。
mxgraph从2005年开始就出现的,之前一直收费,近两年才开源的。
官网https://www.jgraph.com/

 


mxgraph对浏览器的兼容支持的也比较好,甚至支持ie6,也支持移动端。
功能很全面,可以在editor的基础上进行二次开发,
https://jgraph.github.io/mxgraph/javascript/examples/grapheditor/www/index.html
editor作为js库可以嵌入到任意Html页面,感觉像一个网页版的visio studio编辑器一样,使用很流畅。
左侧的素材库可以自定义,也可以上传图片作为素材。



jointjs近两年的人气要比mxgraph高,基于backbonejs的开发理念更符合现在前端的趋势。

mxgraph给我的感觉是功能比较全面但是成本也是比较高,纯js的代码需要研究成本的。

两者各有千秋,选择使用哪个技术还需要看具体需求和个人喜好。

另外顺便提一下jointjs的rappid中也有editor,
rappid是基于jointjs库开发的插件,支持一些高级功能,但目前是收费的。
而上述罗列的功能也是可以满足需求的,感兴趣的小伙伴可查看官网。
https://www.jointjs.com/

猜你喜欢

转载自my.oschina.net/dawd/blog/1813158