我正在寻找一个javaScript库,它可以从我提供的代码中自动绘制UML类图(不太可靠,但很可能来自xml文件)。 这些类应该具有单独的功能,如颜色或类型大小。因此,我将根据我的要求调整代码。
我已经遇到过Raphael和Umlcanvas。还有其他图书馆吗?我应该选哪一个?
提前求助!
答案 0 :(得分:5)
答案 1 :(得分:1)
有几个库可以生成UML类图(不在线 服务,编辑和网络应用程序)。主要问题是图形组件设计和图表的响应水平。
如果你想创建静态图组件,那么有很多库,但如果你想创建一个类似于运行时图编辑器的工具,你的替代方案是有限的:
gojs是一个商业图书馆,由学术用途的免费许可证提供。如果要创建图编辑器,这也是合适的选择。有大量现成的图表,可以交互移动块,修改文本和关系;以及其他不同图表的许多其他功能。
JointJs core library是Mozilla Public License下的开源软件,这意味着您必须包含版权,但您可以将其用于商业用途。它依赖于jQuery 3.1.1,Lodash 3.10.1,Backbone 1.3.3。 (Rapppid正在使用此库) 它提供了许多随时可用的图表元素,它们具有响应性 互动。用户可以移动块,添加和删除关系 关节,放大和缩小。
Draw2D是用于创建Visio的库,如图纸,图表或工作流程。社区版本差不多可以买到5欧元。它确实提供了类似Visio的块和图表,它们可以交互调整大小,移动块和修改文本和关系,以及对块进行分组,放大和缩小。这是构建图形编辑器工具的不错选择。
UmlCanvas作为js库,它从文本信息中提供UML图。图表以您可以移动块的方式响应;和关系线是聪明的,以保持设计漂亮。但不仅仅是那个。
PlantUML是一个UML工具,可以通过jQuery库提供文本信息的UML图(其他语言的库也可用),但图表没有响应。
Raphaël是一个小型JavaScript库,可以简化您在网络上使用矢量图形的工作。这不是创建图形编辑器的最佳工具,但它为简单的用户交互(例如移动和弯曲)提供了闪亮而美观的图表
其他图书馆,例如D3,FabricJS,paperJS,JsPlumb,p5.js,Cytoscape.js和mermaid也是提供图表的基本组件,但它们没有内置编辑器。但是这些库中有更多不同的图表和绘图组件。它们可能不是为用户(包括图形编辑器)创建完全交互式和可编辑的图表的最佳选择。