Глобально инструменты для создания диаграмм можно поделить на два лагеря:
- WYSIWYG - что нарисовал, то и получил;
- Diagram as a Code/Text - текстом описываешь картинку, а по этому шаблону будет получена картинка;
- Не буду оставлять это как бинарный список, потому что инструмент вполне может давать WYSIWYG для пользователя, а под капотом хранить текст;
Выбирая между двумя подходами лучше остановится на Diagram as a Code, потому что их можно рефакторить, да и GPT умеет их генерировать. Лично использую mermaid или excalidraw.
Diagram as a Code
- mermaid - js библиотека генерация диаграмм по тексту, сейчас есть более менее везде: gitlab, github, vs code, obsidian;
- plantuml - чуть более старый формат, который текст генерит через java server в картинку; но более навороченный;
- Diagrams - реальные диаграммы как код, сидишь и пишешь python;
- Structurizr - не берите, потому что платная и непонятно зачем;
Наверняка, есть ещё что-то, но обычно холивар идёт за mermaid (лёгкая интеграция) vs plantuml (возможность сделать библиотеки). Из этих двоих можно выбирать любой.
WYSIWYG
- excalidraw - js библиотека для генерации схемок по дереву, представленного в виде JSON. Самое прекрасное что можно зайти и сразу пошарить комнату с человеком p2p;
- whimsical - модный miro, написанный на clojure. Облачный, но работает довольно быстро;
- draw.io - один из первых инструментов для отрисовки, сейчас не знаю зачем его использовать;
Что дальше
context:: описание систем problem:: создание документации
Источники
Как улучшить
- дописать секцию про висивиги