Gaphor: Open-source UML and SysML Modeling Application For Windows, Linux and macOS

Developers and software engineers are often required to create diagrams in their line of work. As there are many commercial solutions some may feel compelled to buy like I did on macOS, there are few alternative professional solutions like Dia diagram editor.

Our topic of the day is Gapher a simple yet powerful solution, where we list its features and why it's an important asset for developers and software engineers.

Gapher is a free open-source simple UML and SysML program. It's a multiplatform solution which means it runs on Windows, Linux and macOS.

Gapher on Manjaro Linux with Dark Theme (src. Medevel.com)
Gapher on Manjaro Linux with Dark Theme (src. Medevel.com)

Let's talk a bit about SysML and UML:

SysML (System Modeling Language) is a general-purpose modeling language for systems engineering applications for analyzing, designing and verifying complex systems.

UML (Unified Modeling Language) is a general-purpose standardized modeling and developmental. It's used by software developers for specifying, visualizing, constructing and documenting the software systems, also it can be used in business modeling.

The main difference between UML and SysML is that UML provides only limited support for tabular nations.

Gapher features a simple stacked user-interface with a drag-and-drop functionality which does not require a steep learning curve.  It allows the developers to quality visualize a  highly complex models.

Animated picture of how does Gaphor works (src. Gaphor)

It also offers a tabbed interface which means the user can open several working documents.

Gapher is a memory-wise application on Linux, Windows and macOS desktops.

The program is built with Python and its GUI uses GTK, Cairo (PyGObject, PyCairo) and Gaphas which a diagramming widget library that powers the diagramming functionality of Gapher.

Features

Gapher with stylesheet (src. Gapher)

  1. Open-source
  2. Multi-platform: Windows, Linux, macOS
  3. Lightweight
  4. UML and SysML support
  5. UML v2.0 compliant
  6. Non-UML Diagram support
  7. Copy and paste support
  8. XML file format support
  9. Undo manager
  10. Rich connection protocol
  11. Extensible through plugins
  12. Class support
  13. Diagram styles with a built-in styling engine
  14. Rich modeling elements set
  15. Dark mode support
  16. Alignment and snapping option
  17. Elements: Classes, components, actions, use cases, styles, interactions, profiles
  18. Zoom-in and zoom-out
  19. Export to SVG, PDF, PNG and XMI
  20. Create a new document from templates which speeds up the production
  21. Shortcut directory
  22. Extensible through plugins

Getting started with modeling a complex system with Gaphor

Getting started with Gaphor

Install Gaphor on your system:

1- Windows

Windows releases are coming in two versions:  portable and installable version. Simply download the executable files and run it to install for the packed version or to run for the portable version.

2- macOS

For the macOS users, they can install a .dmg package which they can install it traditionally on their system. The macOS package can be found on GitHub releases.

Note that macOS Mojave user and later systems will have to grant permission for Gaphor to run it.

3- Linux

For Linux distros Gaphor is available as a Flatpak packages which can be installed in any distro that supports Flatpak.

$ flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
$ flatpak install --user flathub org.gaphor.Gaphor
Install Gaphor with Flatpak

For Arch Linux users (Or Arch-based distros), Gaphor can be installed from am AUR package.

4- Python Package

If you are a fan of installing python packages, the Gaphor's Python package is available through PyPI.

pip install gaphor

5- Build from the source

Guru users tend to install their software by building it from the source, therefore they can find installation instructions on manual installations for macOS, Linux and Windows on Gaphor's documentation.

License

Apache License V2.

Resources







Hamza Mu Author: Hamza Mu

A physician with programming skills, Linux user since late 1990s, Open source supporter. Coding with Python, NodeJS (Meteor, VueJS, Express, D3, PhantomJS), SmallTalk & R language.






Read more