A Single IDE for Cloud and Desktop Deployments
As the first official release of Eclipse Theia approaches, Project Lead, Sven Efftinge, explains why so many companies — big and small — are using this extensible, multi-language platform to develop all-in-one cloud and desktop IDEs.
Q. What exactly is Eclipse Theia?
A. Eclipse Theia is a framework for building a fully customized, single-source IDE that runs in web browsers and as a native desktop application. It combines the design ideas and ecosystem from the Microsoft Visual Studio Code IDE with the flexibility and customization capabilities from the Eclipse IDE so it offers the best of both worlds. Plus, it runs in a browser.
Q. Why is it important that Eclipse Theia supports cloud and desktop IDE development?
A. Traditionally, IDEs run as a native app in a desktop operating system. But, more and more of the applications developers use, from email to spreadsheets to text documents, are in the cloud and accessed through browsers. The IDE is one of the last remaining desktop applications developers use.
For years now, companies have been thinking about how they can move to an IDE with a fresh technology stack and cloud-based development tools. But, from a strategic perspective, it’s often difficult for them to determine whether they should invest in redeveloping their desktop IDE for the web. The same is true if they started with a cloud IDE, but now need desktop development capabilities.
With Eclipse Theia, companies are freed from having to make these difficult decisions. They can develop a modern IDE once then deploy it in both cloud and desktop development environments.
Q. Who are some of the companies that are using the Theia technology?
A. Right from the beginning, major, global companies recognized the value that Theia provides. In fact, Ericsson was one of our first contributors — even before the project was part of the Eclipse Foundation — and they’re still one of our top contributors.
Today, a number of very prominent companies use Theia as the basis for their IDEs, including:
- Arm and Arduino, who are using Theia to write embedded code
- Google, who is using Theia in its Google Cloud shell
- IBM, who is using Theia for multiple projects
- Red Hat, who has replaced its Java-based IDE with Theia as part of the Eclipse Che project
- SAP, who has replaced its existing web IDE with Theia
We’re also seeing a lot of engagement and adoption among smaller businesses and startups, and across industries — from hardware design to aerospace, insurance, and finance.
Theia really is ideal for all companies of all sizes in all industries.
Q. Why do you think companies that have traditionally used in-house or proprietary IDEs are moving to Eclipse Theia, which is open source?
A. Companies want to ensure that when they invest in an IDE, no single vendor is controlling the future or scope of it. Projects at the Eclipse Foundation are guaranteed to be completely vendor-neutral.
They also want to leverage the contributions of a diverse and engaged community. Eclipse Theia has 125 contributors so the project is very active and continually advancing.
Companies that use Theia gain all the advantages of a truly open source IDE, and they have the flexibility to easily customize the platform for their own development requirements.
Q. What makes Eclipse Theia so easy to customize?
A. From an architectural perspective, the project consists of many small extensions that work together. You can pick the extensions you want to include and skip those you don’t want to include. You can also write your own extensions.
In addition, you can modify the functionality and the user interface at a very fine-grained level using libraries. There’s no need to patch or fork the core code.
Q. Why is this flexibility important?
A. The architectural flexibility makes it easy to build an IDE that’s aligned with business goals and developer requirements.
For example, one goal might be to minimize the onboarding time and learning curve for developers migrating to the new IDE. Another might be to provide access to more advanced development tools. We helped Arduino tailor the user interface and user experience so it’s very similar to their legacy IDE, “hiding” more advanced capabilities behind a button. These types of approaches are particularly helpful for companies that need to migrate a large developer base to the new IDE.
Theia is also very flexible from a programming perspective. It natively supports Visual Studio Code extensions, and there are more than 15,000 of them in the marketplace. That means developers can use just about any programming language in a Theia-based IDE.
Q. Is it hard to contribute to Eclipse Theia?
A. No, it’s super-easy. There’s no long readme about how to set up your computer, the compilers you need, or the tools that are required. You just click one button and you can start coding.
You can create a workspace using Gitpod.io, our professional hosting solution for Theia. In just a few seconds, it gives you a fully built Theia code base you can use to contribute changes to the project.
We see this simplicity as one of the reasons we have so many high-quality contributions. The project has a star rating of almost 7,000 on GitHub so developers obviously like what we’re doing.
Q. What are the upcoming plans for Eclipse Theia?
A. We’re focusing on being 100 percent compatible with all Visual Studio Code extensions. Right now, we support about 90 percent of them so we’re working on the last 10 percent.
And, we’re targeting a Theia 1.0 release on March 26.
Longer term, we’ll be focusing on strengthening all of the aspects associated with a mature, production-ready platform — robustness, speed, reliable performance, and APIs.
Q. How can people get involved in Eclipse Theia?
A. We have weekly developer meetings and we welcome everyone who is interested to join the calls.
For more details, the best place to start is the Theia website.