PlantUML — не просто диаграммы 🧠⌨️

Привет, друг! Ты когда-нибудь ловил себя на мысли: «Блин, как бы объяснить коллеге эту архитектуру, не рисуя в Paint’е кривые стрелочки до 3 ночи?» Если да — у меня для тебя не просто решение, а целая философия: PlantUML.

Представь: ты пишешь текст — и получается диаграмма

PlantUML — это как Markdown, только для схем. Вместо того, чтобы тыкать мышкой в квадратики, в каком-нибудь редакторе, ты описываешь логику скриптом, а PlantUML сам превращает это в чёткую, красивую, профессиональную диаграмму.

Хочешь показать, как пользователь логинится в систему? Пишешь:

@startuml actor User participant "Frontend\n(Web / Mobile)" as FE participant "Auth Service" as Auth participant "Database" as DB

User -> FE : Вводит логин и пароль\nи нажимает «Войти» FE -> Auth : POST /login\n{email, password} Auth -> Auth : Проверяет формат данных Auth -> DB : Запрос: найти пользователя\nпо email DB --> Auth : Возвращает хэш пароля\nи данные пользователя Auth -> Auth : Сравнивает хэш\nвведённого пароля alt Пароль верный Auth -> Auth : Генерирует JWT-токен Auth --> FE : 200 OK\n{token, user} FE -> User : Переход в личный кабинет else Неверный пароль или email Auth --> FE : 401 Unauthorized\n{error: "Invalid credentials"} FE -> User : Показывает ошибку end @enduml

(Полученную диаграмму смотри во вложении)

И бац — готова диаграмма вариантов использования. Без перетаскиваний, без кривых линий, без паники перед демо.

Это не только UML (да, серьёзно!)

Несмотря на название, PlantUML — гораздо больше, чем просто UML-инструмент. Тут тебе и:

  • Диаграммы последовательности (чтобы отследить, кто кому и что шлёт в микросервисах),
  • Диаграммы классов (для архитекторов и Java-ниндзя),
  • Диаграммы развёртывания (как твои контейнеры дружат с серверами),
  • Диаграммы Ганта (да, даже планирование задач!),
  • И даже JSON- и YAML-визуализация.

Всё это — из простого скрипта. И да, это open source, так что инструмент живёт, дышит и развивается благодаря сообществу, которое реально заботится о качестве.

А теперь — самое вкусное: это твой код

Ты можешь хранить .puml-файлы прямо в Git. Делать git diff и видеть, как менялась архитектура за последние два месяца. Пул-реквестить диаграмму, как обычный код. Интегрировать в CI/CD — и на лету генерировать документацию.

Это не «картинка для презентации». Это живая, версионируемая часть твоего проекта.

Работает где угодно:

  • В VS Code — есть плагин с превью в реальном времени.
  • В IntelliJ — подключил и рисуешь схемы, не выходя из IDE.
  • В Obsidian, Notion (через сторонние рендеры), Confluence, даже в терминале (да, есть ASCII-режим!).

PlantUML — это не инструмент. Это образ мышления. Ты перестаёшь думать в «окошках и стрелочках» и начинаешь думать в структурах, связях и потоках.


Так что в следующий раз, когда тебе нужно объяснить сложную идею — не рисуй. Опиши. Пусть машина займётся визуалом. А ты — останься в потоке мысли.

P.S.: Как пелось в группе «Технология» из 90-х «Нажми на кнопку - получишь результат»:

PlantUML — не просто диаграммы 🧠⌨️ | Сетка — социальная сеть от hh.ru