Jumpstart IDE and Tool Development With Eclipse Theia Blueprint
Eclipse Theia is a web-based platform for building IDEs and tools for the cloud, browser, or desktop. It is similar to VS Code from a feature perspective, but provides unique advantages when building custom IDEs and tools.
There have been a number of requests for a functional example of the Theia platform to allow for capabilities to be easily explored without the need to build a full Theia-based product. With Theia Blueprint, this is now possible.
Theia Blueprint is a subproject of the Eclipse Theia project that gives developers a first-hand look at the power of the Theia platform and the types of IDEs and tools that can be easily built upon it. As the name suggests, Theia Blueprint provides templates to jumpstart development of Theia-based IDEs and tools by providing ready-to-try, pre-packaged blueprints with documentation that describes how to use and customize them.
Collaboration in the Eclipse Cloud DevTools Working Group
Theia Blueprint was developed through a collaboration between Arm, STMicroelectronics, and EclipseSource (Figure 1), and has recently been contributed to the project.
Figure 1: Theia Blueprint Collaborators
The three companies are members of the Eclipse Cloud DevTools Working Group, and are very enthusiastic about Theia, so working together came naturally.
Arm is the leading technology provider of processor intellectual property, offering the widest range of processors to address the performance, power, and cost requirements of every device. Arm CPUs and NPUs include Cortex-A, Cortex-M, Cortex-R, Neoverse, Ethos, and SecurCore. Arm is using the Theia platform to build tools such as Mbed Studio.
STMicroelectronics manufactures integrated devices that are found wherever microelectronics are used, from autonomous vehicles, industrial automation, and smart home and building solutions to embedded computers and personal electronics. The company has a strong interest in web-based tooling.
EclipseSource is a founding member of the Eclipse Foundation with a focus on helping customers adopt open source technologies. One of EclipseSource’s specialties is providing services to companies that are building IDEs, tools, and modeling tools based on Theia and related technologies.
Theia Blueprint Features
Theia Blueprint provides a Theia-based IDE with a number of features, including:
- An application frame, windowing, workspace support, and console
- Editing support, including syntax highlighting for common file types, such as HTML, JSON, yml, md, and xml
- Git support
Figure 2: Auto-Completion in Theia Blueprint
Try Eclipse Theia on the Desktop, in a Browser, or in the Cloud
The Theia Blueprint source code is published in GitHub under the Eclipse Theia project, and is licensed under the Eclipse Public License. You can download Theia Blueprint from the Theia webpage. Please note that it is currently an alpha release.
Please also note that Theia Blueprint is not a fully polished and tested IDE that is meant to replace VS Code, the Eclipse IDE, or any other production IDE.
Depending on your operating system, you’ll get a Windows Installer, MacOS .pkg, or Linux AppImage to install the Theia binaries. Once the installation is complete, you’ll be able to launch a Theia instance as a desktop app based on the Electron software framework.
There are also plans to provide a Theia Blueprint ready-to-try Docker image to showcase Theia Blueprint in a browser.
In addition, several resources are available for testing Theia-based commercial products and demos in the cloud, including:
- Red Hat Codeready Workspaces based on Eclipse Che and Eclipse Theia
- Coffee editor demo based on Eclipse EMF.cloud and Eclipse Theia
- Google Cloud Shell Editor based on Eclipse Theia
Customize Theia Blueprint to Meet Your Needs
While Theia Blueprint includes the major Theia features, it’s important to remember that it’s not a production-ready product, but a template you will need to enhance and adapt to your users' needs.
For example, Theia Blueprint includes update functionality, but developers who use that functionality will need to configure their own update service. You’ll also need to add packages to support development in different programming languages. Developers creating IDEs for embedded software development will likely want to add packages for C or C++ code editing. This is a quite common use case for Theia, and is found in Arm’s Mbed Studio IDE.
Finally, you’ll also likely want to add your own branding.
Theia Blueprint provides documentation that explains the different ways you can customize the software to meet your specific requirements.
Get Started and Share Your Feedback
We invite you to download the Theia Blueprint alpha software now. We’re very interested in your feedback, so feel free to:
- Open issues for feature requests or bugs in Theia
- Open issues for missing features in Theia Blueprint
- Contact EclipseSource with questions about how to build products based on Theia