mxgraph vs jointjs
Diagramming Libraries Comparison
1 Year
mxgraphjointjs
What's Diagramming Libraries?

Diagramming libraries are essential tools for creating and manipulating diagrams, flowcharts, and graphs in web applications. They provide developers with the ability to visually represent complex data structures, workflows, and relationships, enhancing user understanding and interaction. Both JointJS and mxGraph offer unique features and capabilities, catering to different needs in diagramming and visualization tasks. Choosing the right library depends on specific project requirements, such as ease of use, extensibility, and performance.

Package Weekly Downloads Trend
Github Stars Ranking
Stat Detail
Package
Downloads
Stars
Size
Issues
Publish
License
mxgraph26,5456,853-04 years agoApache-2.0
jointjs20,1584,8368.26 MB37a year agoMPL-2.0
Feature Comparison: mxgraph vs jointjs

Ease of Use

  • mxgraph:

    mxGraph has a steeper learning curve due to its extensive feature set and flexibility. While it offers powerful capabilities for creating complex diagrams, developers may need to invest more time to understand its API and configuration options.

  • jointjs:

    JointJS is designed with a user-friendly API, making it accessible for developers of all skill levels. Its intuitive interface allows for quick implementation of diagrams, with built-in shapes and connectors that simplify the creation process.

Customization

  • mxgraph:

    mxGraph offers extensive customization options, enabling developers to define their own shapes, styles, and behaviors. Its flexibility allows for the creation of highly specialized diagrams, but this can also lead to increased complexity in implementation.

  • jointjs:

    JointJS excels in customization, allowing developers to create unique shapes and styles easily. It supports custom rendering and provides a variety of built-in shapes, making it suitable for tailored diagramming solutions.

Performance

  • mxgraph:

    mxGraph is known for its high performance, especially when dealing with large graphs and complex diagrams. It efficiently manages rendering and updates, making it a solid choice for applications that require handling substantial amounts of data.

  • jointjs:

    JointJS is optimized for performance in handling interactive diagrams, making it suitable for applications where user interaction is frequent. However, performance may vary with very large datasets or complex diagrams.

Integration

  • mxgraph:

    mxGraph can also be integrated into various web frameworks, but it may require more effort to set up due to its extensive configuration options. It is highly adaptable, making it suitable for diverse environments.

  • jointjs:

    JointJS integrates seamlessly with modern web frameworks like React and Angular, providing a straightforward way to incorporate diagramming capabilities into applications. Its modular design allows for easy integration with other libraries.

Documentation and Community Support

  • mxgraph:

    mxGraph has thorough documentation, but its community is smaller compared to JointJS. While it provides ample resources, developers may find fewer examples and community-driven support.

  • jointjs:

    JointJS has comprehensive documentation and a supportive community, making it easier for developers to find resources and examples. This can significantly reduce development time and enhance learning.

How to Choose: mxgraph vs jointjs
  • mxgraph:

    Choose mxGraph if you require a powerful and feature-rich library that supports complex diagramming needs, such as large-scale graphs and extensive customization options. It is ideal for applications that demand high performance and flexibility in rendering large datasets.

  • jointjs:

    Choose JointJS if you need a library that is easy to use and integrates well with modern web frameworks. It is particularly suitable for applications requiring interactive diagrams and custom shapes, as it offers a rich API for creating and manipulating elements.

README for mxgraph

mxGraph

mxGraph is a fully client side JavaScript diagramming library that uses SVG and HTML for rendering. diagrams.net is our production-grade example that demonstrates extending the functionality of this library and how to deploy it in a secure, scalable manner. The sources to diagrams.net are also available.

Note this is the release repo, only each release is pushed here. The development repo is https://github.com/jgraph/mxgraph2, submit PRs there.

The PHP model was deprecated after release 4.0.3 and the archive can be found here.

If you want to build something like diagrams.net, GraphEditor is the best example to use as a base.

The npm build is here

We don't support Typescript, but there is a project to implement this, with this repo currently used as the lead repo.

mxGraph supports IE 11, Chrome 43+, Firefox 45+, Safari 10 and later, Opera 30+, Native Android browser 5.1.x+, the default browser in the current and previous major iOS versions (e.g. 13.x and 12.x) and Edge 31+.

The mxGraph library uses no third-party software, it requires no plugins and can be integrated in virtually any framework (it's vanilla JS).

Getting Started

In the root folder there is an index.html file that contains links to all resources. You can view the documentation online on the Github pages branch. The key resources are the JavaScript user manual, the JavaScript examples and the JavaScript API specificiation.

Support

There is a mxgraph tag on Stack Overflow. Please ensure your questions adhere to the SO guidelines, otherwise it is likely to be closed.

You may post on the issues tracker on this Github project, but we do not actively answer support questions. Issues most likely to interest us are clearly explained bugs in the core library and pull requests with a clear explaination of what they are fixing and how.

We do not support the .NET and Java rendering functionality at all, the source code is just included in the repo for completeness. Non JavaScript rendering questions will be closed and pointed at this README.

If you are looking for active support, your better route is one of the commercial diagramming tools, like yFiles or GoJS.

License

mxGraph is licensed under the Apache 2.0 license. We do not sell any other license, nor do we have an option for paid support.

History

We created mxGraph in 2005 as a commercial project and it ran through to 2016 that way. Our USP was the support for non-SVG browsers, when that advantage expired we moved onto commercial activity around draw.io. mxGraph is pretty much feature complete, production tested in many large enterprises and stable for many years. We actively fix bugs and add features specific to our needs in diagrams.net.