Wednesday, October 20, 2021 - 06:00

The Eclipse Cloud DevTools ecosystem is a very active and rapidly growing community, with many projects well beyond the early adopter stage. These projects and technologies take openness, collaboration, and diversity to new levels, and are being actively adopted by large enterprises to develop mature, industry-ready solutions.

The growth of the Eclipse Cloud DevTools ecosystem fully aligns with the industry trend towards using more web- and cloud-based tools. For example, over the last five years, the development tool projects supported by EclipseSource have shifted from mostly desktop-based to approximately 80 percent web- and cloud-based.
 
Here’s a closer look at what’s going on in the Eclipse Cloud DevTools ecosystem and some of its most compelling projects.

Eclipse Theia Continues to Gain Momentum

Eclipse Theia is an open, flexible, and extensible platform for building desktop or cloud-based IDEs. It’s similar to the traditional Eclipse tool platform, but is based on modern web technologies running in a browser, or in Electron for desktop implementations.

Theia is gaining considerable momentum, and there are several reasons it is being adopted by very important global organizations. The recent addition of Eclipse Theia Blueprint makes adopting Theia even easier.
 
Theia itself is not a tool, but a platform for building tools. Theia Blueprint (Figure 1) is a template tool that’s based on Eclipse Theia. It’s a great way to evaluate Theia, because it lets you simply download and install it. You can also use Theia Blueprint as a template for building your own Theia-based tool.

Figure 1: Eclipse Theia Blueprint

cloud dev tools article figure 1

Theia Blueprint is an excellent example of open source collaboration in the cloud developer tools ecosystem. It is being collaboratively developed by Arm, STMicroelectronics, EclipseSource, and more recently, Ericsson.

Theia Embodies the Ecosystem’s Openness and Diversity

The remarkable collaboration on Theia Blueprint reflects the openness and diversity found in all facets of the Eclipse Cloud DevTools Working Group and the Eclipse Theia project.
 
Openness in this context means several things. The project is obviously very openly governed as an Eclipse Foundation project, following their long-established governance model. However, it’s worth highlighting that the list of vendors that have contributed to, and adopted, Eclipse Theia is amazingly manifold and diverse.
 
Figure 2: Eclipse Theia Contributors and Adopters

cloud dev tools article figure 2

Theia also provides openness on a technical level. Instead of reinventing the wheel, Theia adopts open standards such as the language server protocol (LSP) and the debug adapter protocol (DAP), and it reuses existing open source components such as the Monaco code editor.

Theia is compatible with VS Code extensions, providing a second, more powerful extension mechanism that lets you customize almost every aspect of the software. This openness and flexibility are very important criteria for adopting Theia. With minimal overhead, you can provide some features of your custom, Theia-based tool as a VS Code extension while maintaining full control over other aspects of the custom tool. Several of our customers’ tool projects adopted this approach to get the best of both worlds.

Eclipse Theia also integrates seamlessly with other technologies inside and outside the Eclipse Foundation. For example, the Eclipse Graphical Language Server Platform (GLSP), a technology for web-based diagrams, allows you to augment Theia with graphical editors. Using technologies such as Eclipse Xtext, Eclipse EMF.cloud, or JSON Forms, you can even migrate complex, domain-specific tools to the web.
 
To see an open source example of such a domain-specific tool, check out the coffee editor, provided by the EMF.cloud project. You can even try it directly in an online demonstrator.

Figure 3: EMF.cloud Coffee Editor

Cloud dev tools article figure 3

In addition to Theia, there are many other examples of technical openness in the Eclipse Cloud DevTools ecosystem. For example:

Eclipse Open VSX Provides a Unique Level of Openness

Perhaps the best example of openness in the Eclipse Cloud DevTools ecosystem is the Eclipse Open VSX project
 
The Eclipse Open VSX project is the basis of the Open VSX Registry for VS Code extensions, which is similar to the VS Code marketplace. You can connect to the Open VSX Registry from any tool to install VS Code extensions, which means it can be used by Theia and by VS Code, and it is actively adopted by open source initiatives, such as GitPod and VS Codium. In contrast, the VS Code marketplace terms of use exclude use of all tools other than VS Code.
 
Because the Open VSX Registry itself is open source, you can also host custom instances of it for in-house use.

The Eclipse Cloud DevTools Working Group Governs Projects

The hosted instance and ongoing development of the Open VSX technology is governed and funded by the Eclipse Cloud DevTools Working Group, which facilitates open collaboration among contributing and adopting companies in the ecosystem. Checkout the latest community call to get an overview about what the working group is doing. If you’re a contributor or adopter, joining the Eclipse Cloud DevTools Working Group is a great way to influence the strategic direction of the ecosystem.

Initiatives Include a Special Interest Group for Embedded Development

The working group is also home to a special interest group (SIG) that enables vendors to collaborate on web- and cloud-based tools for embedded development. The SIG confirms a general direction we’ve seen in our customer base: Web- and cloud-based tooling is now a huge trend in embedded development. It’s no longer a niche topic. This adds value to the ecosystem because many of these vendors are strong contributors and know the Eclipse open source ecosystem very well through their past adoption of Eclipse CDT.

The SIG’s focus on embedded development allows participants to tackle very specific topics and find common solutions to challenges. For example, the SIG is currently working on context awareness for the clangd language server so you can maintain different build configurations within a workspace. Another very interesting initiative is the creation of a Theia-based blueprint tool for C/C++ development. This initiative is the topic of a talk at EclipseCon, so you can learn more about it if you’re interested.

Learn More at EclipseCon and TheiaCon

In addition to the talk on C/C++ tooling for the web, there are a number of talks related to web- and cloud-based developer tools at EclipseCon 2021. We recommend browsing the program to find the topics that interest you most.
 
On Monday, October 25, you can also attend Eclipse Cloud DevTools Community Day at EclipseCon to participate in discussions related to the ecosystem and Eclipse Theia in particular.
 
We’re also very pleased to announce the first TheiaCon will take place this November. This virtual, two-day event focuses on Eclipse Theia and its adoption, so be sure to register

About the Author

Jonas Helming

Jonas Helming

Jonas Helming is a principal architect at EclipseSource, providing consulting and implementation services for tools, web-based tools, and technologies such as Eclipse Theia, VS Code, Eclipse GLSP, and Eclipse CDT.

Maximilian Kögel

Maximilian Kögel

Maximilian Kögel is a principal architect at EclipseSource, providing consulting and implementation services for tools, web-based tools, and technologies such as Eclipse Theia, VS Code, Eclipse GLSP, and Eclipse CDT.

Philip Langer

Philip Langer

Philip Langer is a principal architect at EclipseSource, providing consulting and implementation services for tools, web-based tools, and technologies such as Eclipse Theia, VS Code, Eclipse GLSP, and Eclipse CDT.