本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1 背景
说明:如果你是visio
,powerpoint
,draw.io
,亿图图示
等绘图软件的重度用户,可能此篇文章并不适合你,因为这些所见即所得的绘图软件已经用视觉上的易用性俘获了你。爽久了,再想离开就多少有点困难了。在工程实践中,图片的作用是为了减少繁琐的文字,将一个流程讲的更直观,或者是将一个状态或数据呈现的更清晰,又或者是表现出复杂逻辑的层次结构等等。所见即所得的绘图方式,会让视觉干扰到人的绘图逻辑,人脑在视觉和逻辑中来回跳转,一是降低了绘图效率,二是很容易出错,如:线条少了,颜色不对等。所以这篇文章推荐使用所想即所得的绘图方式来画图。其大概过程是使用一种描述语言表达出想要绘制图形的逻辑,然后让工具软件渲染出具体图形。在整个绘制过程中,都不用去关注几何和视觉部分,只需关注于具体的图片内容逻辑。接下来是介绍采用这种所想即所得绘图方式的两个利器PlantUML
和Graphviz
。
PlantUML是一个开源软件,允许用户采用纯文本语言创建图表。除了支持各种UML图,PlantUML还支持其它软件格式开发的图,甚至支持JSON和YAML文件的可视化。现将PlantUML
支持的图表分两大类总结如下:
UML图表
- 类图 (Class Diagram)
- 组件图 (Component Diagram)
- 部署图 (Deployment Diagram)
- 对象图 (Object Diagram)
- 用例图 (Use Case Diagram)
- 活动图 (Activity Diagram)
- 状态机图 (State Machine Diagram)
- 序列图 (Sequence Diagram)
- 时序图 (Timing Diagram)
其它格式图表
- 网络图 (Network)
- 线框图 (Wireframe)
- 甘特图 (Gantt Diagram)
- 思维导图 (MindMap)
- 工作分解结构图 (Work Breakdown Structure)
- JSON可视化 (Display JSON Data)
- YAML可视化 (Display YAML Data)
不要被这些繁杂的图表所吓倒,这正是PlantUML
功能强大的体现。在实际工作中,以实用为主、够用为度为原则,也没有必要面面精通。这些图用到哪一个,就马上学哪一个,都是触类旁通的。为了内容的完整性,本篇文章会对这些提到的图表绘制方式进行通篇讲解,如果觉得太多,可以进行有选择的阅读。
2 环境准备
2.1 配置环境
PlantUML
本身是采用JAVA
开发,所以其运行依赖于JAVA环境;为了更好编写PlantUML语法,还需要一个文本编辑器,本篇文章选择VSCode
作为文本编辑器,并且用了一个PlantUML
插件。所以环境配置需要完成如下三步:
- 安装Java环境,推荐Java8,也就是java1.8 版本(记得将安装完成的bin目录添加进系统环境变量);
- 安装VSCode;
- 安装VSCode插件
PlantUML
。
2.2 快速使用
PlantUML
快速使用流程总结如下:
- 创建:打开
VSCode
,新建一个带.puml
后缀的文件,如:test.puml
- 写描述语言:复制如下描述语言,到
test.puml
中去; - 预览:在
test.puml
文件中单击鼠标右键,在出现的鼠标菜单中点击预览光标位置图表,在文件右侧将会出现2.中描述语言的预览图; - 导出:在
test.puml
文件中单击鼠标右键,在出现的鼠标菜单中点击导出当前文件图表,即可以导出各种格式的图片。导出的图片位置在test.puml
文件的同级out
目录中。
@startuml
PlantUML -> World: Hello World
World -> PlantUML: Hi, PlantUML
@enduml
PlantUML的github
仓库路径如下:github.com/plantuml/pl…
PlantUML的在线练习网址为:plantuml.com
3 小结
本篇主要介绍了PlantUML的安装和一个小demo
。PlantUML的详细使用后面会陆续详细介绍。