6 ms·
Plant UML – Open-source UML Tool
- deleted 6y ago[deleted]
- rammy1234 6y agoI used to use this extensively and now no more. Sad.
- hueking 6y agoWhy?
- rodgerd 6y agoUML only scratches the surface of how useful PlantUML is. I use it a bunch, both as a Confluence plug-in and in VS Code.
- eightails 6y agoI've used this before -- it works well and integrates nicely with markdown, which makes it more convenient than using draw.io for plenty of use-cases imo
- chrisweekly 6y agoyeah, see also mdx, and kroki
- w_for_wumbo 6y agoJust discovered Plant UML recently, and I've quickly come to love it. Just today I pasted a JSON payload & watched as it generated a diagram from the example. I do find the default theme not terribly attactive, but that can be can be mitigated with a single import, this site has a great collection: https://bschwarz.github.io/puml-themes/ https://bschwarz.github.io/puml-themes/
- user3939382 6y agoI considered this when looking for a new data modeling tool but the software, and the charts it produced, were so ugly I couldn’t do it. I notice most programmer/engineer types don’t have this hangup. I’ve always felt the same about IDEs with the (what I call) “millions of tiny buttons” design. For my data modeling I ended up going with a tool called Lucidchart.
- brandmeyer 6y agoLucidchart makes good-looking diagrams. But my problem with them has always been their distance from the code. Its always going to be a difficult problem to keep documentation up-to-date with the implementation regardless of what tool you use. I prefer tools that reduce that impedance as much as possible.
- diragon 6y agoUML is an obsolete way to design things. But fortunately PlantUML manages much more than just that.
- ComodoHacker 6y agoWhat is the modern way to design (and maintain) things?
- SilverRed 6y agoImprovised diagrams, design docs and ui mockups. The problem with UML was it was far too specific. The aim was to just about generate the whole program code using charts which isn't what anyone needed.
- ComodoHacker 6y ago> Improvised diagrams, design docs and ui mockups. Are those supposed to be thrown out after first or second release? > The aim was to just about generate the whole program code using charts That wasn't the aim of UML. Any model (including UML) serves two main purposes: to create system design and to document that design.
- ungzd 6y agoClass diagrams, the most used of UML diagram types, are not exactly for system design, they're too low-level, and yes, "Round-trip engineering" that generates code from class diagrams (and class diagrams from code) was advertised as important feature of advanced UML tools.
- aflag 6y agoConverting classes into UML diagrams can be usefull regardless if you classify UML as obsolete or not. It's a nice why to understand how a given class or interface is used throughout.
- posobin 6y agoThere are 58 prior HN comments with plantuml.com, mostly in various discussions of diagramming tools, but not only that: https://ampie.app/url-context?url=plantuml.com https://ampie.app/url-context?url=plantuml.com And a bunch of pages on the same domain have also been mentioned in HN comments. There was also a thread about Plant UML in 2019 with 48 comments: https://news.ycombinator.com/item?id=21426793 https://news.ycombinator.com/item?id=21426793
- progre 6y agoHaving used PlantUML a bit I now see these diagrams everywhere in software documentation. Most don't use the piss-yellow and red default theme but the stick man actor icons is a sure tell it's PlantUML.
- mal10c 6y agoI love Plantuml. This and xmind are my two favorite tools. Has anyone ever heard of a vscode plugin that will render the plantuml scripts into images and embed them into code? I'm thinking of a program (c, c++, java, python... whatever) that has plantuml in a comment. the plugin could render that as an image and show it in place of the comment. then it could provide an "edit" button to view/edit the comment.
- arrakeen 6y agonot vscode, but i do this with org-mode in emacs-- it's how i draw my sequence diagrams for work!
- chrisweekly 6y agoI think some combo of mdx and kroki should come close...
- rjsw 6y agoPlantUML is not a UML tool, it is a tool for creating diagrams that look the same as UML ones.
- zmmmmm 6y agoPlantUML is like the markdown of software diagrams. It is amazing what you can do with it. I recently discovered you can draw a whole Gantt chart just by describing the activities in natural-ish language. It's kind of amazing though, it has one of the highest ratios of utility to presentation (as in, it works great and it looks horrible) of any tool I know.
- tjoff 6y agoThese submissions/threads have been cropping up a bit lately. But I have yet to seen anyone comment on pikchr, https://pikchr.org/ https://pikchr.org/ (NOTE: doesn't have as close of a relation to UML as Plant UML) After what felt like endless googling it is what I decided to spend some time with, haven't had time to do much yet so can't say how it performs for me but the idea and execution really resonates with me.
- hwj 6y agoHere you can play with it: https://pikchr.org/home/pikchrshow https://pikchr.org/home/pikchrshow
- eddyg 6y agoThe examples[0] look really good! Thanks for mentioning this. [0] https://pikchr.org/home/doc/trunk/doc/examples.md https://pikchr.org/home/doc/trunk/doc/examples.md
- vlovich123 6y agoI want a balance between being able to make diagrams pretty and how much work I spend on it. PlantUML has much more thorough example documentation. Even though I bump up against corners in the customization I do want, it’s easier for the role it serves (both documentation but also the source kind of misty gets translated into an acceptable diagram without having to overspecify certain things as I saw in some of the source snippets on that page). This is definitely good if I want to spend a lot making something pretty that I can version control. If that were the case though I’d collaborate with a designer to write that in this tool and make the clarity better (but if they wanted to do a traditional SVG diagram in Illustrator using whatever workflow they want, I wouldn’t care either). If it’s not worth a designer’s time, it’s generally not worth it for me to spend hours on a skill that’s not natural for me. So I like a program that makes it easy to make it pretty enough but that I don’t have to think about too much (eg having it embedded in Wikis at work also helps in the learn 1 useful thing and use it multiple places).
- abetlen 6y agopikchr is awesome. A project I did recently was a WASM-compiled pikchr library to generate diagrams directly in the browser [1]. Here's a very early demo of a live editor you can play around with [2]. Not fully-featured yet but what I'd like to eventually do is set it up in a similar way to the mermaidjs editor [3]. They encode the entire diagram in the url. That makes it really easy to link to from markdown documents and has the nice benefit that the diagram is immutable for a given url so you don't need a backend to store anything. [1]: https://www.npmjs.com/package/pikchr-js https://www.npmjs.com/package/pikchr-js [2]: https://pikchr-editor.insert-mode.dev/ https://pikchr-editor.insert-mode.dev/ [3]: https://mermaid-js.github.io/mermaid-live-editor https://mermaid-js.github.io/mermaid-live-editor
- drblah 6y agoI have used Plant UML a lot and I love it. Anything that can help me draw less figures is a bonus and the markup language they use is pretty flexible and ergonomic. However, I have one major gripe with Plant UML. About 3-4 years ago, my local install started showing memorial plaques for people who died in a terrorist attack in Paris [1]. While this attack was undoubtedly a horrible event, I still feel it is deeply unprofessional to include stuff like that in a program, and it makes me lose all trust in the developers. If they had just added a memorial section in the program, it would have been fine. However, for every error generating a diagram, Plant UML would show a popup window with a picture and a text in memory of that person. This is similar to what the Notepad++ developer(s) did back in 2013-ish where they had a memorial build into a new release of the program. On startup, Notepad++ would write (literally type it out) some message into the default empty document [2]. It might be a bit harsh. But in my mind, if the developers of these programs can be so influenced as to push this onto their unsuspecting users, I feel they have misused my trust. It makes me think: "What are they going to put into it next? Malware? Perhaps watermark the output with a statement?" Since these events, I have avoided Notepad++ entirely and been reluctant to use Plant UML, but used it out of necessity. [1] https://github.com/plantuml/plantuml/issues/25 https://github.com/plantuml/plantuml/issues/25 [2] https://notepad-plus-plus.org/downloads/v6.7.4/ https://notepad-plus-plus.org/downloads/v6.7.4/
- deleted 6y ago[deleted]
- ericwooley 6y agoWhile software isn't really the right place for that per se, I can definitely see the temptation. After all, you are providing something absolutely free, and you aren't including ads, tracking people, pestering about payment etc.. all this work has earned you a huge audience, and you want to use it to honor the memory of lives lost. Honoring the dead is pretty universally accepted as good thing. It's a really big jump to say people who honor the dead with their software are going to insert malware in it next. Use or don't use whatever you like, it's free and open source, but this seems like a pretty terrible reason to avoid otherwise great software.
- _0o6v 6y agoAlways seems to be very popular with a certain type of engineer. I personally prefer to create much better looking diagrams in about 1/10th of the time using draw.io
- aflag 6y agoI think you got your fraction reversed. Writing down the specs in plantuml will be a lot faster and generate much more consistent results at the cost of memorizing the syntax upfront. It is an investment, but if you frequently have diagrams in your docs and multiple people collaborate on them, then it's really worth it.
- kanzenryu2 6y agoThese UML diagram tools are always pretty nice, but strangely enough they all seem to omit the collaboration diagram, which I found to be one of the most useful types. Yes, technically you can kind of simulated with Component diagrams, but it's not quite as good.
- from_endor 6y agoI use Plant UML in combination with planter [1] to auto-generate a DB schema visualization during CI runs. Recently I see a lot general statements on HN like "UML is dead" which I think is not the case. Especially in complex, data-heavy projects it's a great way to visualize how things work -- if kept up-to-date and precise. [1] https://github.com/achiku/planter https://github.com/achiku/planter
- NicoJuicy 6y agoI love Plant UML. I appreciate the C4 diagrams specified in UML for software developers ( https://c4model.com/ https://c4model.com/ ) And all the diagrams that are downloadable ( eg. For Azure : https://github.com/plantuml-stdlib/Azure-PlantUML https://github.com/plantuml-stdlib/Azure-PlantUML , AWS : https://github.com/awslabs/aws-icons-for-plantuml https://github.com/awslabs/aws-icons-for-plantuml , GCP : https://github.com/davidholsgrove/gcp-icons-for-plantuml https://github.com/davidholsgrove/gcp-icons-for-plantuml , ... and so much more)
- euroclydon 6y agoThe online editor is nice when you're in a hurry. PlantUML can also be hooked up into emacs org mode for inline diagrams. I've just been using the online editor to snag pngs to embed in google docs, then I upload the source diagram text as a separate file in the folder, or paste it in as appendix.
- stunpix 6y agoPlantUML is a nice tool for small diagrams/teams/projects but it doesn't scale to big projects at all. I'm in an automotive project and we had tried to jump from Enterprise Architect to the puml and the latter one failed very quickly. We realized it's just impossible to handle in a reasonable way hundreds of diagrams from different teams who have to show/maintain cross-component dependencies independently. Puml isn't designed for that at all. Another limitation of puml we faced: there is no way to control the position and layout of elements on diagrams. With complex diagrams, you'll quickly get a total mess and if you are lucky to manage how to get finalized nice diagram then any tiny element added later will ruin the whole diagram since puml decided to reposition everything. Just wanted to share our experience. Yep, we are still using it for small generic diagrams to quickly depict some concepts as well as for sequence diagrams but never for documenting complicated component/class relations.
- Communitivity 6y agoUsing PlantUML for UML is akin to using Visio for UML. It is a diagramming tool and can make great diagrams. However, it is not a modelling tool. It can't track relationships between diagram elements and metadata about those elements, other than the metadata that can be extracted from the diagram. I've used PlantUML on past projects, but almost always in conjunction with a separate program that stored data in a SQLite db and then generated PlantUML on command. An example of something similar I am working on as a side project is using JQL to query all the issues in JIRA targeting a specific fix version, then generate the graphviz dot notation to create a hierarchical stoplight chart showing issue decomposition, issue id, issue status, and POC for an issue.
- Veuxdo 6y agoThanks for sharing this. If I may ask, would Ilograph (diagramming tool I made) alleviate the two issues you've raised? It aims to show cross-cutting dependencies via perspectives, and has an interactive layout to make complex perspectives easier to read. It's definitely a "long term" diagram solution, as opposed to quick sketches. Would love to know how close it gets to the mark. Example: https://app.ilograph.com/demo.ilograph.Ilograph/Request https://app.ilograph.com/demo.ilograph.Ilograph/Request
- the-alchemist 6y agoHuge fan of the Javascript equivalent, although not as featureful: https://mermaid-js.github.io/mermaid/#/ https://mermaid-js.github.io/mermaid/#/ Gitlab has support for it built-in, and so do many Markdown editors (https://marknoteapp.com/ https://marknoteapp.com/).
- jiki 5y agoMermaid only supports horizontal and vertical layout, which makes it not capable of drawing complex graphs.
- gegtik 6y agoplantuml is wonderful but the restricted layout control forces you to maintain small diagrams if you want readibility. maybe that's a pro?
- tmilard 6y agoI use to do my small class diagramm in Microsoft Word.... (yea not very professional, but so simple to do). Now I have discovered PlantUml. It is nice because you write, and the display is automatically done. And the display is mostly always perfect.
- meinreno 6y agoI prefer simples tools like Word or PlantUml than complex tools. Maybe i'm python developer, simple is better than complex
- jdblair 6y agoI really like PlantUML for drawing state machines and sequence diagrams, but I never use it to actually draw UML.