You can build a cloud IDE with domain-specific textual and graphical languages – all with Eclipse technologies. Theia provides the IDE framework with text editor, Xtext and LSP4J form the language server, and Sprotty renders beautiful modern diagrams. This technology stack works well, but it also imposes a high maintenance effort because the two involved programming platforms, TypeScript and Java, are not directly compatible and depend on separate ecosystems for building and distributing modules.
In this presentation, I will explain how the aforementioned technology stack works and outline its benefits and risks. I will introduce an alternative basis for the language server – the new open source project Langium – and show the differences to Xtext / LSP4J from a tool integration and maintenance perspective. The key here is to build consistently on TypeScript, which has become the de-facto standard for cloud tooling. After this session, you will know
- how to design a tool architecture that is fit for the cloud era,
- how to create a domain-specific language with Langium and Sprotty,
- how text and graphics can be combined for great user experience.