我打算用拓扑图开发一个网络管理REST客户端(如下图所示)。使用该应用程序,用户应该能够通过拖放创建拓扑图,通过拖动更改节点位置,编辑节点属性和删除节点元素。
现在,我正在进行一些可行性研究,如何使用HTML 5客户端或Java厚客户端来完成这项任务。我见过一些叫做埃斯里的API,但是它已经商业化了。
我计划开发这个应用程序Angularjs或JavaFX。但是它们都没有内置库(我更喜欢用AngularJs开发这个客户端应用程序)。您能帮我找到任何可用于完成此任务的JavaScript框架或Java库吗(然后我可以将它们与AngularJs或JavaFX集成起来)。
我在问题上见过类似的StackOverflow,它太旧了,但现在可以使用新的框架了。
谢谢

发布于 2017-10-11 01:30:43
我们可以使用一些HTML 5相关的UI框架来完成这项任务,这些框架可以可视化交互式图形(用户可以创建、更新、读取和删除图形元素)。他们中的一些人如下
GoJS是一个功能丰富的JavaScript库,用于在现代web浏览器和平台上实现自定义交互图和复杂的可视化。该库使构建复杂节点、链接和组的JavaScript图更容易使用可定制的模板和布局。商业执照。

来源:https://gojs.net/latest/extensions/SnapLinkReshaping.html
JointJS是一个现代的HTML5 JavaScript库,用于可视化和与图表的交互。它可以用于创建静态图,或者更重要的是创建完全交互式的图表工具,例如工作流编辑器、过程管理工具、IVR系统、API集成器、表示应用程序等等。在开源许可(较少的特性)和商业许可(更多的特性)下获得许可。

来源:https://resources.jointjs.com/demos/kitchensink
mxGraph是一个JavaScript图表库,它允许快速创建在任何主要浏览器中运行的交互式图形和图表应用程序。在2.0 (免费和开放源码)下。支持JavaScript、Java、.NET和PHP。
1) mxDraw

来源:https://jgraph.github.io/mxgraph/javascript/examples/editors/diagrameditor.html
2)图形编辑器

来源:https://jgraph.github.io/mxgraph/javascript/examples/grapheditor/www/index.html
vis.js是一个动态的基于浏览器的可视化库.该库被设计成易于使用,可以处理大量动态数据,并允许对数据进行操作和交互。在Apache2.0(免费和开放源码)和MIT (开放源码许可证)下都获得了许可。

资料来源: vis.js 图书馆
D3.js是一个基于数据操作文档的JavaScript库。D3使用HTML、SVG和CSS将数据带入生活。D3对web标准的强调使你具备了现代浏览器的全部功能,将强大的可视化组件和数据驱动的DOM操作方法结合在一起。根据BSD许可证(开放源码倡议)。

来源:http://bl.ocks.org/rkirsling/5001347
结论
根据GoJS的特点,它是可视化交互式图形的最方便的框架,因为UI可以方便地定制,并且可以将图模型保存为JSON格式。但这是在商业许可下(每个开发商2995美元)。
JointJS提供了更少的开放源码许可版本的特性,因此需要购买商业版本来满足我们的需求。可能很难自定义它们的复杂UI。
‘s对用户更友好,但我们必须按照我们的要求进行更多的调整,例如,通过工具图标进行节点创建,使用户能够自定义节点的标题值,删除一些现有的视觉效果等等。
需要探讨保存格式(JSON、XML、TXT等)图模型。
根据我的结论,我们可以为我们的开发选择mxGraph或vis.js JavaScript库。
mxGraph:我们似乎可以轻松地定制‘mxDraw’(Web2.0风格的图表编辑器)绘图应用程序并重用它。“图形编辑器”图表编辑器应用程序更高级,它可能需要更多的时间来定制它,并需要探索图表模型的保存格式。
vis.js:比“mxGraph”更方便用户,但是我们可能需要花费一些开发工作来探索图表模型保存格式和删除现有的视觉效果。
https://stackoverflow.com/questions/46536362
复制相似问题