preloader

Comparing LSP/GLSP and Jjodel

While LSP/GLSP focuses on providing IDE-level features for textual and graphical languages with a clear separation of concerns between server and front end, Jjodel offers a holistic, unified approach to language design and modeling. Jjodel’s cloud-based platform, reactive architecture, and native support for collaboration make it highly accessible and user-friendly, particularly in academic and team-based environments.

For advanced IDE integration and highly customized workflows, LSP/GLSP may be advantageous. However, for rapid development of domain-specific languages and iterative refinement, Jjodel stands out as the more modern and accessible solution.

Below a more detailed comparison is provided.

 

Architectural Approach
Aspect LSP/GLSP Jjodel
Core Phylosophy Separation of concerns: the frontend is purely a renderer, while the server handles semantics and logic. Unified environment with integrated architecture, combining metamodels, syntax, and validation.
Communication JSON-RPC-based communication between server and frontend. Direct reactivity within the cloud platform, eliminating the need for explicit server/frontend separation.
Deployment Requires an LSP/GLSP server implementation and configuration for every new language. No external deployment is needed. Runs entirely in the cloud with zero-setup.
Support for Textual and Graphical Languages
AspectLSP/GLSPJjodel

Textual Languages

LSP excels in textual language support by handling syntax, validation, and IDE features like autocompletion.

Textual viewpoint provides robust syntax definition, including projectional editing capabilities.

Graphical Languages

GLSP offers graphical language support, rendering diagrams in the frontend while logic resides on the server.

Jjodel integrates graphical syntax natively, allowing visual modeling with JSX templating and CSS styling.

Reactive Features

Static communication model; changes require manual synchronization.

Fully reactive architecture ensures real-time synchronization between metamodels and models.

Ease of Language Development
AspectLSP/GLSPJjodel

Language Definition

Requires manual implementation of server logic for language features (e.g., validation, syntax, autocompletion).

Language design is simplified through declarative metamodeling and viewpoint-driven configuration.

Learning Curve

Steeper, as it involves understanding JSON-RPC, server implementation, and frontend configuration.

Gentle learning curve with an intuitive interface for both beginners and experienced modelers.

DSL Focus

LSP/GLSP can support domain-specific languages (DSLs) but often requires external tools like Xtext or Langium.

Built-in DSL creation support, with seamless definition of metamodels and viewpoints.

 
Collaboration and Deployment
AspectLSP/GLSPJjodel

Collaboration

Collaboration is not inherently supported and relies on additional tooling.

Real-time collaboration is natively supported, enabling teams to work together seamlessly.

Deployment Flexibility

Monaco-based LSP editors can run in a browser for textual languages; GLSP adds graphical language support.

Fully browser-based cloud platform with no deployment required, offering maximum accessibility.

Use Cases
Aspect LSP/GLSP Jjodel

Target Audience

Developers and IDE integrators focusing on advanced IDE features for specific textual or graphical languages.

Modelers, educators, and teams designing domain-specific modeling languages (DSMLs).

Educational Use

Rarely used in educational settings due to complexity.

Highly suitable for teaching MDE concepts, offering intuitive tools for language design.

Create a Metamodel for a Simple UML Class Diagram

This video provides a step-by-step guide to creating a simple UML class diagram metamodel. Viewers will learn how to define core elements such as classes, attributes, and relationships, building a foundational structure for UML modeling. With clear explanations and hands-on examples, the tutorial simplifies metamodeling concepts, making it accessible for both beginners and those looking to reinforce their skills