The Eclipse Theia project was born just 4 years ago. Kudos and thanks to all the organizations that have supported and built the project into the success that it is today. In addition to these original contributors, there continues to be significant growth in the number of companies contributing to and adopting Theia as the basis for their custom IDEs and domain-specific tools. Because of our active and vibrant community, Theia is now a thriving and diverse project — ready to move to the next level of growth and adoption.
Theia is an open source, extensible and adaptable platform that provides very similar capabilities to Visual Studio (VS) Code, while offering more flexibility to be tailored to specific use cases. This means you can build tools that are very similar to VS Code, but also completely white label and customize the workbench. All of this, of course, available as a browser and/or as a desktop application.
Theia is also compatible with VS Code, so Microsoft VS Code extensions can be leveraged through the Open VSX Registry — enabling the use of the biggest ecosystem of additional development features available today. This means that with Theia, organizations and vendors building cloud and desktop IDEs, have a production-ready, vendor-neutral, and open source framework for creating customized development environments.
Let’s now take a look at the current project state, starting with some notable examples of project adoption, as well as the companies behind those initiatives.
Arduino IDE 2.0
Arduino IDE 2.0 is an evolution of the popular IDE used to program any Arduino board. In addition to a modern editor and a more responsive interface, the IDE 2.0 also includes some advanced features for professional users: autocompletion, code navigation, and live debugger. The Arduino IDE is a good example of what’s possible with Theia as a platform. As you can see in the screenshot above, some parts of the UI are fully tailored, such as the toolbar. Other parts, such as the code editor (Monaco) are similar to what you see with VS Code.
Arm Mbed Studio
Mbed Studio is a local development environment for Mbed OS, giving developers all the tools and dependencies needed to create C/C++ IoT applications for Arm Cortex-M based hardware. Mbed Studio is one of several examples that show how well Theia fits the needs of tooling for embedded programming. Mbed Studio leverages Theia’s compatibility with VS Code extensions to reuse some existing language features for C/C++, while also heavily customizing the workbench in some areas.
EclipseSource is a service provider for tool development and provides consulting and implementation services as well as training for Eclipse Theia. EclipseSource does not provide their own Theia-based tools, but they do support various customers in implementing their own solutions.
EclipseSource also provides a comprehensive open source example tool based on Eclipse Theia called the coffee editor. This tool, shown in the screenshot above, combines Theia with other Eclipse technologies such as EMF.cloud, Eclipse GLSP, Xtext, JSON Forms and many more. The tool is provided as an online demo, so if you want to see what is possible with Theia + the Eclipse Cloud DevTools ecosystem, check it out.
Logi.cloud by logi.cals
logi.cals develops industrial automation engineering software to empower application developers in creating smart factories of tomorrow. Based on Theia, logi.cloud provides a full-featured cloud-based IDE for developing, deploying and commissioning automation projects in the IEC 61131-3 languages, C and C++.
Red Hat CodeReady Workspaces
Built on the open source Eclipse Che project, Red Hat CodeReady Workspaces uses Kubernetes and containers to provide development and IT teams with a consistent, secure, and zero-configuration development environment. The experience is as fast and familiar as an integrated development environment on your laptop.“Eclipse Che and Red Hat CodeReady Workspaces offer Kubernetes-native development environments. Eclipse Theia means developers need only a web browser to access a feature-rich IDE, and benefit from a similar look-and-feel and shared extensions with VS Code. As an open source community project, Che developers have been able to collaborate and contribute to Eclipse Theia, and together help build a better experience for users of cloud development tools.” - David Harris | Principal Product Manager, Developer Tooling at Red Hat
SAP Business Application Studio
SAP Business Application Studio, the next generation of the iconic SAP Web IDE, is a modern cloud-based development environment, tailored for efficient development of business applications such as SAP Fiori, SAP S/4 HANA extensions, Workflow, Mobile and more. SAP Business Application Studio showcases how the online capabilities of Eclipse Theia truly support an exceptional cloud-based developer experience.
TypeFox specializes in building domain-specific tools and offers development and consulting services for Theia, Sprotty, Xtext, and other related technologies. The TypeFox team laid the groundwork for Theia in order to provide a platform on which custom applications can be built.
This is just a sampling of some of the great tools built on Theia along with the services available in a flourishing ecosystem. Noteworthy shoutouts for other products based on Theia go to Google Cloud Shell and Acquia’s Drupal Cloud IDE. This is just the visible tip of the proverbial iceberg. As is often the case for open source projects, most adopters stay hidden. So, if there is a project you know of that uses Theia and is not listed on our Adopters page, please let us know by opening an issue.
Because the Theia project has such an extensive reach, it would go beyond the scope of this post to mention all ongoing developments. With this in mind, I would like to focus on three initiatives that I find rather interesting: VS Code extension compatibility; the Open VSX marketplace; and Theia Blueprint.
VS Code Compatibility
There are a number of interesting pieces in the Theia tech stack (which would warrant a separate post). One of the crucial pieces is work being done around APIs for VS Code extensions that provide compatibility with thousands of available FOSS extensions. Theia supports VS Code extensions through its Plugin system, which is regularly updated to the most recent VS Code extension API. Related to this, the Monaco Editor is a key component of Theia, and adapting and keeping it up-to-date is a huge achievement by the project. Having these core pieces (with more to come), makes Theia a modern application framework for building innovative developer tools.
There is strong demand for a fully open alternative to the Visual Studio Marketplace, and the Open VSX Registry meets that demand. It offers a community driven, fully open platform for publishing VS Code extensions. The Registry is built on Eclipse Open VSX, which is an open source project hosted at the Eclipse Foundation.
Open VSX is integrated into multiple software applications that support VS Code extensions, including many that are Theia-based. If you need to have your own extension gallery, for example in a protected corporate environment, you can do this with Open VSX. Having VS Code extensions available ensures that your Theia-based product is a platform for innovation and customization.
We’ve recently seen the alpha release of Theia Blueprint, a template to help potential adopters jumpstart their Theia-based projects. It provides installers for all major operating systems so you can easily download, try and build on Theia locally. More details can be found in my recent blog post.
What’s Next for Theia?
Theia continues its growth in terms of adoption, but also in terms of the underlying ecosystem. In just the past three months, there have been more than 50 individual committers, from eight different companies. Theia is clearly not a one man or one company show, it is based on a very diverse ecosystem of contributors. If you visit the Theia community forum, you’ll see posts regularly from developers asking questions related to work they are doing on their Theia-based tools. This gives a hint about the huge number of unknown adopters, the so-called “dark matter”. It’s exciting to see a vibrant ecosystem flourish.
Other projects of the Eclipse Cloud DevTools ecosystem augment the Theia ecosystem, e.g. the Open VSX Registry, Eclipse Che for workspace hosting, Eclipse GLSP for diagrams or EMF.cloud for domain-specific tools.
To see what is coming next, check out the roadmap which is updated quarterly. The roadmap is a moving snapshot that shows priorities of contributing organizations. Common goals are discussed weekly at the Theia Dev Meeting and additional capabilities and features identified there will make it onto the roadmap.
Sounds interesting? Take a look at the project to evaluate how to get involved. The best places to look first are the GitHub project and the community forum.