Are you wondering how you should nowadays develop diagram editors to be durable, given the innovative and fast moving world of web-based technologies and cloud IDEs? The answer is clear: build them to be open for adaptation from top to bottom and make it easy to change certain parts without impacting all other parts. Join this talk to learn how to build diagram editors which are loosely coupled and how to stay agile to adapt and benefit from the innovations of the new age of tool development.
Eclipse GLSP is a web-based, next generation diagram editor framework at Eclipse that has made this strategy one of its core principles and hence puts special focus on enabling full flexibility and openness for diagram editor development. Especially with its recent 1.0 release, GLSP has not only added several new features and components, but has even become more versatile.
In this talk, we highlight, based on real-world scenarios, why this flexibility is nowadays crucial for modern diagram editors and how it is supported with GLSP. In particular we focus on the following four areas of flexibility:
Flexibility in diagram visualization and user interaction
Based on Sprotty and SVG, GLSP provides cutting edge rendering capabilities and gives you full control over one of the most crucial aspects of your diagram: look and feel. Without putting restrictions or abstractions on the great underlying web technologies, you can either use GLSP's default implementations or take command over rendering, layouting, edge routing, editing behavior, and user interface components, such as the palette.
Flexibility in integrating your editor with application frames
Whether you aim at integrating with modern tool platforms, such as VS Code or Eclipse Theia, still want to support traditional rich clients based on Eclipse, or build a diagram editor for a plain web application, GLSP has got you covered with ready-to-use integration components and even facilitates an architecture that supports all of them with minimal integration glue code for each application frame.
Flexibility in model management
GLSP doesn't put any restrictions on where your underlying data model that drives your diagrams comes from. Are you using EMF, JSON, a custom file format, or even a proprietary database? While GLSP provides pre-configured modules for the most popular choices, such as EMF and JSON, the strict separation of concerns enables freedom of choice when it comes to model management, even facilitating to change that in the future without impacting the diagram frontend at all, and the backend only where really necessary.
Flexibility in language and runtime
Via a defined protocol, GLSP allows you to use the programming language of your choice in the backend, very much like the language server protocol. Moreover, with dedicated frameworks for Java and, more recently, also for Typescript, building a diagram server is easier than ever for these most common language choices.
Join this talk to see the next generation of diagramming at Eclipse in action! GLSP celebrated its 1.0 release in June 2022 and is one of the most active projects in the Eclipse ecosystem.