Zrozumienie Formatu PlantUML
PlantUML pozwala tworzyć diagramy jako zwykły tekst. Dowiedz się, czym jest, jak GanttTool używa go pod maską do renderowania wykresów Gantta i jakie inne typy diagramów obsługuje.
Czym Jest PlantUML?
PlantUML to narzędzie open-source, które pozwala tworzyć diagramy z opisów w zwykłym tekście. Zamiast przeciągać pola po płótnie, piszesz kilka linijek prostej składni, a PlantUML renderuje profesjonalny diagram. To podejście jest często nazywane "diagram jako kod" lub "tekst na diagram".
Minimalny diagram PlantUML wygląda tak: otwierasz znacznikiem @start<typ>, opisujesz strukturę w kilku czytelnych linijkach i zamykasz znacznikiem @end<typ>. Narzędzie analizuje ten tekst i tworzy SVG, PNG lub PDF — gdziekolwiek go renderujesz.
Dlaczego warto pisać diagramy jako tekst?
- Kontrola wersji — Zwykły tekst daje czyste porównania w Git. Możesz śledzić każdą zmianę diagramu, sprawdzać ją w pull requeście i cofnąć, jeśli coś się zepsuje.
- Szybkość — Wpisanie
[Zadanie A] lasts 5 daysjest szybsze niż rysowanie paska na płótnie i zmienianie jego rozmiaru. - Spójność — Silnik renderujący automatycznie stosuje jednolite odstępy, czcionki i kolory. Skupiasz się na treści, a nie na układzie.
- Przenośność — Plik tekstowy
.pumljest mały, czytelny dla człowieka i renderuje się tak samo wszędzie. - Automatyzacja — Diagramy mogą być generowane programowo z danych, osadzane w pipeline'ach CI i utrzymywane w synchronizacji z kodem.
Wskazówka: PlantUML jest szeroko stosowany w dokumentacji inżynierii oprogramowania (diagramy architektury, przepływy API), ale jego obsługa wykresów Gantta czyni go równie potężnym narzędziem dla kierowników projektów i liderów zespołów, którzy chcą mieć powtarzalne, wersjonowane harmonogramy.
Jak GanttTool Korzysta z PlantUML
GanttTool udostępnia wizualny edytor GUI — dodajesz zadania, ustawiasz czasy trwania, definiujesz zależności, wybierasz kolory — ale za kulisami wszystko, co zbudujesz, jest kompilowane do kodu PlantUML. Ten kod jest następnie wysyłany do serwera renderującego, który przekształca go w diagram SVG wyświetlany w twojej przeglądarce.
Potok renderowania
Trasa API pod /api/kroki działa jako proxy między twoją przeglądarką a serwerami renderującymi. Działa w dwóch etapach:
- Główny: serwer PlantUML.com — Kod PlantUML jest kompresowany za pomocą Deflate (poziom 9) i kodowany przy użyciu niestandardowego wariantu base-64 PlantUML. Wynikowy ciąg jest dołączany do
https://www.plantuml.com/plantuml/svg/~1{zakodowane}jako żądanie GET. Limit czasu 3 sekund chroni przed wolnymi odpowiedziami. - Zapasowy: serwer Kroki.io — Jeśli PlantUML.com zawiedzie lub przekroczy limit czasu, surowy tekst PlantUML jest wysyłany POST jako
text/plaindohttps://kroki.io/plantuml/svgz limitem czasu 5 sekund. Kroki to otwartoźródłowa brama renderująca, która obsługuje wiele formatów diagramów.
Niezależnie od tego, który serwer odpowie pierwszy z prawidłowym SVG, obraz jest zwracany do przeglądarki z nagłówkiem Content-Type: image/svg+xml i renderowany inline. Nigdy nie musisz myśleć o kodowaniu ani rozwiązaniach zapasowych — to po prostu działa.
Pod maską: Widok "Kod PlantUML" w panelu bocznym GanttTool pokazuje dokładny tekst, który jest wysyłany do serwera. Możesz go skopiować, wkleić do PlantText lub serwera online PlantUML i otrzymać ten sam diagram.
Składnia Wykresów Gantta PlantUML
Każdy diagram Gantta PlantUML jest otoczony znacznikami @startgantt / @endgantt. W środku opisujesz swój projekt w naturalnym, czytelnym stylu.
Podstawowa struktura zadań
@startgantt ' Tytuł projektu i skala title Website Redesign Project Project starts 2026-07-01 printscale weekly ' Separator fazy -- Discovery -- ' Zwykłe zadania: [Nazwa] lasts N days [Requirements gathering] lasts 5 days [Competitor analysis] lasts 3 days -- Design -- [Wireframes] lasts 7 days [Visual design] lasts 10 days [Visual design] starts at [Wireframes]'s end -- Development -- [Frontend build] lasts 14 days [Frontend build] starts at [Visual design]'s end [Backend integration] lasts 10 days [Backend integration] starts at [Frontend build]'s end @endgantt
Kamienie milowe
Kamienie milowe mają zerowy czas trwania i pojawiają się jako znacznik rombu na osi czasu. Definiuj je za pomocą happens at zamiast lasts.
@startgantt Project starts 2026-07-01 [Development] lasts 14 days and is colored in CornflowerBlue [QA Testing] lasts 5 days and is colored in LightGreen [QA Testing] starts at [Development]'s end ' Kamień milowy — występuje na końcu określonego zadania [Release v1.0] happens at [QA Testing]'s end ' Procent ukończenia [Development] is 70% completed @endgantt
Separatory faz i ustawienia projektu
Otocz nazwy sekcji podwójnymi myślnikami (-- Nazwa fazy --), aby wstawić wiersz separatora. Połącz z ustawieniami ogólnymi projektu, aby uzyskać pełną kontrolę.
@startgantt title Q3 Product Launch Project starts 2026-07-01 printscale weekly zoom 2 saturday are closed sunday are closed today is colored in Lavender -- Planning -- [Kickoff meeting] lasts 1 day [Scope definition] lasts 3 days [Scope definition] starts at [Kickoff meeting]'s end -- Build -- [Engineering sprint 1] lasts 10 days [Engineering sprint 1] starts at [Scope definition]'s end [Engineering sprint 2] lasts 10 days [Engineering sprint 2] starts at [Engineering sprint 1]'s end -- Launch -- [Smoke testing] lasts 2 days [Smoke testing] starts at [Engineering sprint 2]'s end [Go live] happens at [Smoke testing]'s end @endgantt
Kluczowa składnia Gantta w skrócie
| Składnia | Co robi |
|---|---|
| [Zadanie] lasts N days | Tworzy zadanie z czasem trwania w dniach |
| [Zadanie] lasts N weeks | Czas trwania w tygodniach |
| [B] starts at [A]'s end | Zależność koniec-do-startu |
| [M] happens at [A]'s end | Kamień milowy na końcu zadania |
| -- Nazwa fazy -- | Wstawia wiersz separatora fazy |
| [T] is 50% completed | Pokazuje postęp ukończenia |
| printscale weekly zoom 2 | Skala tygodniowa, powiększenie 2x |
| saturday are closed | Pomiń soboty w czasie trwania |
| [T] is colored in Red | Niestandardowy kolor paska zadania |
PlantUML poza Wykresami Gantta
Gantt to tylko jeden z kilkunastu typów diagramów obsługiwanych przez PlantUML. Ta sama filozofia zwykłego tekstu — znacznik początku, opis, znacznik końca — dotyczy ich wszystkich. Oto przegląd najczęściej używanych typów.
Diagramy Sekwencji
Diagramy sekwencji pokazują, jak obiekty lub komponenty współdziałają w czasie — idealne dla przepływów API, sekwencji uwierzytelniania i komunikacji mikroserwisów.
@startuml title User Login Flow Browser -> API: POST /login {email, password} API -> Database: SELECT user WHERE email=? Database --> API: user record alt valid credentials API --> Browser: 200 OK + JWT token else invalid API --> Browser: 401 Unauthorized end @enduml
Diagramy Klas
Diagramy klas modelują strukturę obiektową: klasy, atrybuty, metody i relacje. Niezbędne do dokumentacji architektury oprogramowania.
@startuml class Project { +id: String +name: String +startDate: Date +getTasks(): Task[] } class Task { +id: String +name: String +duration: Number +complete(): void } class Milestone { +name: String +date: Date } Project "1" o-- "many" Task Project "1" o-- "many" Milestone Task <|-- Milestone @enduml
Więcej typów diagramów PlantUML
Diagramy Przypadków Użycia
Pokazują, którzy aktorzy wchodzą w interakcję z którymi funkcjami systemu. Przydatne do zbierania wymagań i prezentacji dla interesariuszy. Składnia: @startuml z actor, usecase i strzałkami -->.
Diagramy Aktywności
Modelują przepływ pracy, procesy biznesowe i przepływy decyzyjne z węzłami start/stop, rozwidleniami, połączeniami i gałęziami warunkowymi. Pomyśl o nich jak o schematach blokowych z formalną semantyką.
Diagramy Stanów
Przedstawiają cykl życia obiektu poprzez stany i przejścia. Idealne do modelowania statusu zamówienia, stanów sesji użytkownika lub trybów urządzenia.
Diagramy Komponentów
Pokazują, jak komponenty systemu, biblioteki i interfejsy są ze sobą połączone. Świetne do dokumentowania architektur mikroserwisów i topologii wdrożeń.
Mapy Myśli
Burza mózgów i organizowanie pomysłów w formacie drzewa radialnego. Używa wciętych znaczników * do definiowania hierarchii. Dobrze sprawdza się przy podziałach funkcji i mapach wiedzy.
Encja-Relacja (ER)
Modeluj schematy baz danych z encjami, atrybutami i relacjami. Obsługiwane przez @startuml / słowo kluczowe entity lub przez dedykowane rozszerzenia ER.
Oto szybki przykład mapy myśli PlantUML, aby zilustrować, jak diagramy inne niż Gantt podążają za tą samą filozofią tekst-najpierw:
@startmindmap * Project Planning ** Scope *** Requirements *** Deliverables ** Schedule *** Gantt chart *** Milestones ** Team *** Roles *** Resources ** Risks *** Mitigation plan @endmindmap
Wypróbuj PlantUML Online
Nie musisz niczego instalować, aby zacząć eksperymentować z PlantUML. Ekosystem ma doskonałe darmowe narzędzia online:
PlantUML.com
Oficjalna strona PlantUML z pełną dokumentacją, referencją składni i serwerem renderowania online.
plantuml.com ↗PlantText
Czysty edytor online z podglądem na żywo. Wklej lub wpisz swój kod PlantUML i zobacz diagram natychmiast w przeglądarce.
planttext.com ↗Kroki.io
Otwartoźródłowa brama renderowania, która obsługuje PlantUML oraz ponad 20 innych formatów diagramów (Mermaid, Graphviz, D2 i więcej) przez ujednolicone API.
kroki.io ↗Zalecany przepływ pracy: Zbuduj swój wykres Gantta wizualnie w GanttTool, kliknij "Kod PlantUML" w panelu bocznym, aby zobaczyć wygenerowany tekst, a następnie wklej go do PlantText lub PlantUML.com, jeśli chcesz pracować bezpośrednio na surowej składni. Otrzymujesz to, co najlepsze z obu światów: edytor wizualny i pełny dostęp do formatu diagram-jako-kod.
Zacznij Tworzyć Wykresy Gantta
GanttTool daje ci moc PlantUML bez potrzeby pisania ani jednej linii kodu. Użyj edytora wizualnego do zbudowania harmonogramu projektu i pozwól aplikacji automatycznie obsłużyć składnię PlantUML oraz renderowanie diagramu.
- Dodawaj zadania, kamienie milowe i separatory faz jednym kliknięciem.
- Ustawiaj czasy trwania, zależności, kolory i procenty ukończenia wizualnie.
- Sprawdzaj wygenerowany kod PlantUML w każdej chwili — kopiuj i używaj go ponownie gdziekolwiek.
- Eksportuj jako SVG lub kopiuj do schowka jako PNG do prezentacji i dokumentów.
- Opisz swój projekt zwykłym językiem i pozwól asystentowi AI wygenerować pełny szkic wykresu Gantta.
Wypróbuj GanttTool — za darmo, bez zakładania konta
Zbuduj profesjonalny wykres Gantta PlantUML w kilka minut. Aplikacja generuje kod PlantUML za ciebie — eksportuj, udostępniaj lub wklejaj go gdziekolwiek.
Otwórz GanttTool — to nic nie kosztujePowiązane Artykuły
Czym Jest Wykres Gantta?
Historia, anatomia i jak wykresy Gantta pasują do planowania projektów kaskadowych.
Jak Stworzyć Wykres Gantta Online
Samouczek krok po kroku, jak zbudować wykres Gantta od podstaw za pomocą GanttTool.
Asystent AI Wykresów Gantta
Jak sztuczna inteligencja GanttTool rozumie instrukcje w języku naturalnym i automatycznie generuje zadania.