背景
作为一名研发,平时会经常需要画时序图等 UML 图,试过无数个工具,折腾无止境。
也曾在生产力工具换为 Mac 后,很长一段时间都在众里寻他千百度,期望能找到一个顺手的绘图工具。
那些年曾经追过的绘图工具:
工具 | 优点 | 缺点 |
---|---|---|
Enterprise Architect | - 图表类型齐全 |
- 可拖拽,能关联
|
- 只支持 Windows
- 协作时,版本维护不方便
|
| OmniGraffle |
- 颜值高
- 功能齐全
- Mac 上最好的绘图工具
|
- 只支持 Mac
- 贵,贵,贵
- 协作时,版本维护不方便
|
| AxureRP |
- 简单易用
- 最适合产品经理的原型图工具
|
- 定位为原型图工具
- 对 UML 的支持不好
- 协作时,版本维护不方便
|
| Balsamiq Mockups |
- 非常简单易用
- 类似 Markdown 的体验
- 非常好用的线框类原型图工具
|
- 定位为原型图工具
- 对 UML 的支持不好
|
| ProcessOn |
- 在线版
|
- 缺点也是在线版
- 存在安全问题
- 协作时,版本维护不方便
|
| Keynote / PowerPoint |
- 超级简单易用
|
- 定位是演示工具
- 对 UML 的支持不好
- 协作时,版本维护不方便
|
期望值
这么多年下来,针对『日常研发文档编写』这个主要需求,我的期望是:
更好的嵌入方式,和日常写的 Markdown 文档能更好的融合,而不是分开维护。
最好能类似 Markdown 的心智体验和输入体验。
高效率,高颜值。
便于协作,包括版本管理,多人协同。
最终归宿
听说 PlantUML 很久了,但第一次真正尝试使用它,还是在闭关开发 Egg 第一个闭关版本时,蚂蚁的同学用它来描述 npm 包依赖关系,当时就觉得很优雅,于是毫不犹豫的入坑了,然后又通过自己的安利,把身边很多研发团队都拉入坑,在日常业务开发中的需求分析文档、设计文档都使用它。
所以,Are you ready?请搬好小板凳,开始我们的安利之旅。
简单小结下,PlantUML 吸引我的地方:
类 Markdown 那样让你自然的画图,绝大部分情况下,你不需要太关注语法和布局,很自然的画即可,心智体验非常舒服。
可多人协作,可版本跟踪,可以直接写在 Markdown 中,避免文档维护的割裂。
它是一种「绘图语言」而不是「绘图工具」,生态不错,受到广泛支持,各大 IDE 和 语雀 等知识系统都支持。
先来一张图感受下: