Most modern tools and IDEs are implemented based on web technologies. What originally began as a trend for early adopters has now become the standard for most projects. The Eclipse Cloud DevTools ecosystem provides a very powerful and flexible platform for building web-based tools of all kinds in the form of Eclipse Theia. There are many new capabilities coming from this vibrant project and the diverse ecosystem around it, which makes it a very exciting time to get involved. Let’s take a look at what makes Theia unique and what’s on the horizon!
Theia Is a Custom Tool Builder With Unique Features
Eclipse Theia is a flexible and extensible cloud and desktop tool platform based on modern, state-of-the-art web technologies. For developers who want to efficiently build a custom tool offering on the desktop or in the cloud, Eclipse Theia is indeed the next generation tooling and applications platform at the Eclipse Foundation.
Eclipse Theia provides a variety of unique features that make it a very interesting platform to build upon. Here are just a few examples of what makes Theia a great option:
Theia provides a flexible toolbar (Figure 1). This is noteworthy because most web-based tools often no longer provide toolbars, although it has been discussed at length. The Theia toolbar comes with a lot of flexibility. As a creator, you can decide whether it is part of your tool or not, and what it initially looks like. Users of your tool can adapt the toolbar by adding, removing, and rearranging items. It is even possible for users to select custom icons for actions.
Figure 1: How to use the Eclipse Theia toolbar.
Theia also allows users to detach views from the main window. Surprisingly, most modern and web-based tools and IDEs do not offer this capability, although it is frequently requested. As an innovative platform for building modern tools and IDEs, Theia provides support for detachable views (Figure 2).
Figure 2: How users can detach views from the main Eclipse Theia window.
Adjustable Tab Sizing
Over the past several months, Theia has made massive improvements to tab management in the workbench. Tools and IDEs often show multiple views and editors at the same time, which makes information tracking and management of the available screen space difficult. Theia provides several innovations to address this, such as a completely new strategy for managing tab sizes (Figure 3). By turning on one setting, Theia can be made very similar to modern browsers.
Figure 3: Enable and manage tab sizing in Eclipse Theia.
Theia Memory Inspector
Finally, Theia also has a memory inspector (Figure 4). As the name implies, the memory inspector allows you to inspect the state of the memory during debug sessions. It provides several unique features, such as the ability to compare different states. While it is often used in embedded development tools, its flexible architecture means it is not limited to this scenario.
Figure 4: Inspect memory state during debug using Theia memory inspector.
Designed to Be Adopted Easily
But besides feature development, Theia always keeps its focus on being a platform in mind. As you can see in the release announcements, many improvements are directly targeted at making the adoption of Theia easier and more efficient. Examples include:
- Performance improvements
- Better CLI support
- Easier dependency management
These features are just a taste of all the good things happening in the Theia ecosystem. Let’s look at a few other noteworthy things you should be aware of, starting with Theia Blueprint.
Theia Blueprint Provides Easy Introduction
If you do not want to build a custom tool yet, or are looking for a blueprint for how, Theia now provides a vanilla product based on the Theia platform called Theia Blueprint, which is currently in beta.
Theia Blueprint contains standard IDE features and comes with a downloadable installer. It serves as a default template for creating a custom product based on Theia, making it easier for new users to try it out. Because Theia can build tools for both the desktop and the cloud, Theia Blueprint is available as both a desktop and cloud version. You can try Theia Blueprint online for free by simply clicking the “Try online” button on the Theia homepage. The online version is hosted using Theia Cloud.
Full VS Code Compatibility
To further simplify development, you can use VS Code extensions in Eclipse Theia applications. This enables you to enhance your Theia-based application with a pantheon of features from a huge ecosystem of extensions available for VS Code via the a OpenVSX Registry. VS Code extensions specify the minimum version of VS Code that they require to run to ensure compatibility. The recent Theia community release 2023-05 raises the compatibility level to 1.77. This corresponds to the VS Code version released one month ago and, therefore, allows extensions to be installed in their latest versions.
Adopters and Contributors
Theia is maintained by a diverse set of contributing parties and adopted in various industries. The continuously growing list of adopters and contributors (Figure 5) reflects this.
Figure 5: Adopters of, and contributors to, the Eclipse Theia project.
Some of the tools built on Theia are for internal use by the contributing party. For others, you can find adopter stories, such as the new Arduino IDE 2.0 and Logi.CLOUD. On the Theia website, you can also find a gallery of publicly known tools that are built on Theia.
The Theia community is very open and tries to facilitate communication with all different kinds of stakeholders. There is a weekly developer call open for everyone to join where current topics and interesting decisions are discussed. Developers also regularly answer community questions and triage community votes on bugs and feature requests.
What is very special in the Theia ecosystem is the success of collaborative initiatives. These larger development projects share efforts between multiple contributors. Many of the above-mentioned achievements such as Theia Blueprint were actually contributed by several stakeholders.
This spirit of open source collaboration also creates great initiatives surrounding Theia:
- CDT Cloud Blueprint is a vanilla tool for C/C++ development based on Theia — it can also serve as a basis to build your own custom C/C++ tools.
- Theia Cloud is a lightweight and Kubernetes-centric framework for deploying and running Theia-based IDEs and tools in the cloud.
Quarterly Community Releases Available
Theia provides a unique combination of features that make it a very attractive choice as a tool platform. The project is surrounded by a diverse and active ecosystem facilitating innovations and open collaboration. If you are looking for a platform for your next IDE or tool project — greenfield or migration — Theia may be the perfect choice.
Theia is one of the most active Eclipse Cloud DevTools projects and provides monthly releases with detailed release announcements. Since September 2022, Theia has also provided community releases every quarter. Special focus is put on hardening and compatibility with third-party technologies, such as Eclipse GLSP or CDT Cloud.