Having markdown auto render the images in source control systems like Azure DevOps or GitHub is HUGE! This guarantees the diagrams will always be up to date with their definitions. The big elephant in the room is the rendering. In terms of customisation, PlantUML has been around far longer and supports advanced diagram customisation. PlantUML works as you would expect and has support for more advanced setup like sprites. This shows as you have little control over the way the diagram is rendered, and some parts are unreadable (i.e., arrows over nodes). Winner: Mermaidįor C4 Models, Mermaid support is still experimental. Not sure why PlantUML needs to have a line in the middle of each node. Winner: Mermaidįor State diagrams, syntax is also similar, but Mermaid renders the images slightly better. Winner: Drawįor ER diagrams, again syntax is similar, but Mermaid renders the images slightly better. Winner: Mermaid.įor Sequence diagrams, both syntax is similar, and the rendered image is also similar. In terms of setup, Mermaid is the simplest as you don't need to set up any external applications or servers. Overall, both tools do an excellent job, although in some cases one will shine over the other. There are a few out there, but this is the best one: Note: This article assumes VS Code is your editor of choiceįirst up, you'll need the PlantUML extension. So, which one is best? Let's take a look! Setup Mermaid is a JavaScript based engine and is the new kid on the block. PlantUML is a Java based engine has been around for a long time and is battle tested. Two popular choices for this are PlantUML and Mermaid. The added advantage is you can source control your diagrams and audit changes overtime. In this way you describe the diagram with code and the tooling takes care of the visual rendering. These generic tools do allow a lot of flexibility but end up costing you more time than you intended to align all boxes and arrows and to get the colour schemes just right.Īn approach gaining in popularity is to use tooling that allows 'diagrams-as-code'. There are many generic diagramming tools that can be used to design software such as (formerly draw.io), Miro, or Lucid Charts. A software implementation on the other hand, is not. Before jumping into any complex software development, it's often a good idea to spend some time designing the system or feature you will be working on.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |