Background

I want to make some diagrams about my small project etss. Simple class diagrams and sequence diagrams would be enough.

I started by drawing by hand, which soon strikes me that most of my fiddling with the representations is repetitive&tedious. So I started to search for tools that translate high-level textual representation into decent looking graphic diagrams.

I try to find some JavaScript libraries first as recently my main focus is on Web tech. However, as the search goes on, I've found there are not many JavaScript projects on UML actually. Tools like jointjs, draw2d are too much for my purpose. In the end, I settle down on PlantUML, a Java solution.

The following is what IMHO that's worth noting.

PlantUML

So far the most complete tool for generating UML from text.

Pros

  • The DSL is very intuitive, actually bramp/js-sequence-diagrams's DSL is roughly based on it.
  • Very complete, the documentation and examples are amble.

Cons

  • Written in Java (Do I still remember how to code Java?)
  • Web integration requires a 3rd party server to render UML image….
  • Styles are not very modern, but acceptable any way.

Sequence Diagrams

bramp/js-sequence-diagrams

  • Pros
    • Simplest so far
    • The employed technology is easily understood.
    • The hand-drawn theme is great.
  • Cons
    • Not quite UML like, the simple theme feels too simple.
    • Does't support quoted string, an issue opened by the author for now, #107.

tmtk75/jumly

  • Pros
    • Very modern, professional-UML looking. Built-in themes looks great.
    • Not using SVG, but DOM objects directly, so styling can be done with CSS.
  • Cons
    • coffeescript and stylus are used, which to me feels too hackishy.
    • The DSL feels too hackishy, not as intuitive as plantUML.

      ? Maybe I can help improve on this.

Class/State Diagrams

nomnoml

Web-based UML library, looks very promising. Though it doesn't support sequence UML.

Flow Chart

flowchart.js

Useful to draw logic diagram about inner workings of complicated piece of code.

Other interesting diagram tools

Others

Jison: JavaScript parser generator!

Good for designing DSL with JavaScript, I think, similar to Bison.

Many tools above utilize this library.

Bustle

A DBus monitor with sequence diagram, looks very cool. If you ever use the default dbus-monitor, you would appreciate the graphical representation ;P

draw.io

A nice in-browser IDE for drawing diagrams manually.


Comment: Github Issue