# Diagrams.net

diagrams.net (frühere Bezeichnung draw.io) ist ein kostenloses Diagramm- und Zeichenprogramm. Die auf dem Electron Framework basierende Software kann sowohl lokal installiert werden, als auch als Online-Dienst im Browser laufen. Auf diese Weise kann sie auch in Anwendungen von Drittanbietern eingebettet werden. Ein Teil des Quelltexts ist open-source und auf GitHub verfügbar.

## Funktionsweise

Mit diagrams.net können Diagramme zur Visualisierung von Abläufen und Strukturen erstellt werden. Die Software enthält eine große Zahl von Vorlagen, Werkzeugen und Symbolen für Software-Diagramme (z. B. Flussdiagramme, UML und Entity-Relationship-Modell), Geschäftsprozessmodellierung und Infografiken.

### Benutzeroberfläche

Die Benutzeroberfläche von diagrams.net ist an Vektorgrafikprogramme wie Microsoft Visio oder Draw aus OpenOffice.org angelehnt: Im Zentrum befindet sich die Arbeitsfläche, auf der die Zeichnung erstellt wird. Links davon bietet das Programm die Vorlagen an, die thematisch in Bibliotheken zusammengefasst sind. Rechts von der Arbeitsfläche werden kontextabhängig die Werkzeuge zur Formatierung der aktuell bearbeiteten Objekte angezeigt. Am oberen Rand des Fensters befinden sich ein Menü sowie eine Symbolleiste. Für Menüs und Dialoge kann eine große Zahl von Sprachen eingestellt werden.
Optional kann diagrams.net mit einer alternativen Oberfläche (Thema Skizze) als Whiteboard gestartet werden. In diesem Modus sind die Dialoge komprimiert und schweben auf der Arbeitsfläche, die Standard-Symbolbibliothek ist reduziert.

### Bedienkonzept

Objekte werden aus den Symbolbibliotheken per Mausklick oder Drag&Drop auf der Arbeitsfläche platziert. Verbinder zwischen den Objekten können sowohl einer Symbolbibliothek entnommen werden oder aus dem Rand von Objekten herausgezogen werden, um sie am Rand eines zweiten Objekts anzudocken. Die ständig sichtbaren Dialoge zur Formatierung von Objekten verändern sich dynamisch mit der Selektion von Diagramm, Objekten und Verbindern.

### Besonderheiten

Beliebige Objekte können als Container definiert werden, um andere Objekte aufzunehmen und als Gruppe zusammenzufassen. Container enthalten automatisch eine Schaltfläche, mit der sie komprimiert und wieder erweitert werden können. Baumartige Strukturen wie Organisationsstrukturen oder Mindmaps können in Form von Hierarchien visualisiert werden. Dabei können ganze Teilbäume bearbeitet, bewegt und komprimiert werden.

## Dateiformate und Speichermedien

Das native Dateiformat mit der Dateinamenerweiterung .drawio ist XML, wobei die Definition der graphischen Objekte standardmäßig komprimiert gespeichert wird. Daneben kann die Software auch im SVG-Format speichern und als editierbares Bitmap-Bild im PNG-Format, das zusätzlich die Vektorinformationen enthält.
Als Exportformate beherrscht diagrams.net HTML, das Portable Document Format (PDF) sowie die Bitmap-Formate PNG und JPEG. Der Import und Export des Microsoft Visio-Formats (VSDX) befindet sich aktuell im Beta-Stadium.
Neben dem Speichern von Diagrammen auf lokalen Speichermedien kann diagrams.net direkt auf Online-Dienste zugreifen. Dazu gehören Google Drive, Microsoft OneDrive, GitHub und GitLab.

## Integration

Der Hersteller JGraph Ltd stellt diagrams.net als gehostete Webapp, Desktop- sowie als Docker-Anwendung zur Verfügung. Darüber hinaus wurde die Software – meist unter ihrem früheren Namen draw.io – in eine große Zahl Anwendungen von Drittanbietern integriert. Dazu gehören Wiki-Systeme wie MediaWiki und Foswiki, Content Management Systeme wie Tiki – CMS Wiki Groupware, Cloud-Plattformen wie Nextcloud und ownCloud sowie Datenanalyse-Software wie Grafana und Project Jupyter.
JGraph pflegt außerdem die Version, die in die Produkte Confluence und Jira des Herstellers Atlassian integriert werden kann. Durch eine Modifikation der Lizenz wurde diese Integration ab dem 28. August 2024 mit Version 24.7.8 untersagt. Seit Dezember 2024 steht der minifizierte Quellcode wieder unter der vorherigen, unveränderten Apache-Lizenz, Build-Prozess und ursprünglicher Quellcode sind jedoch nicht offengelegt.