Eclipse Theia vs. VS Code: “Theia is one of the most diverse & active projects”
Eclipse Theia is an open source code editor that runs both as a desktop application and in the browser. The newly released version Theia 1.0 is referred to as an “open source alternative to VS Code”. We talked to Theia inventor Sven Efftinge about differences and similarities between Theia and VS Code.
JAXenter: Eclipse Theia version 1.0 has just been released. Here on JAXenter we’ve followed Eclipse Theia for some time, so we’ll approach the topic a little bit differently. In the official announcement it is noticeable that Theia is explicitly called a “True Open Source Alternative to VS Code”. If we stick to the scope of functions and functionality: What are the similarities between Eclipse Theia and VS Code?
Sven Efftinge: VS Code is an extremely good tool. In my opinion it offers just the right balance between a code editor and an IDE. In addition, the strong focus on command line interfaces via terminal and the development of the Language Server Protocol finally allows to shift a lot of work to the communities. This is an extremely important design decision because it means that IDE-specific plugins do not have to be built for every framework and programming language.
SEE ALSO: Top 6 IDEs of March
With Theia, we took all this over and solved three things that make VS code unusable for our purpose:
1) An architecture that allows the IDE to run as both a desktop and browser application. Many people probably know that Microsoft itself has now developed Visual Studio Online, a version that runs in the browser. But back when we started the Theia project back, this was not an issue for the VS Code team, so there was no collaboration. Unfortunately, VSO is not open source either, which means, for example, that it is not usable for us in Gitpod.
2) An architecture that allows users to change every detail of the IDE without forking or patching the project. VS Code is designed as a product for developers. Using it as a base for other organizations or products is not part of the idea. Therefore, the VS Code team does not provide extension and branding opportunities outside the extension mechanism. However, we wanted to create a basis that would allow many companies to build on the jointly developed platform in the true sense of open source. We wanted to develop a platform that – similar to the old Eclipse platform – could work in many different use cases.
3) A project developed under a vendor-neutral open source organization. When you develop a product that is heavily based on open source code, you want to depend as little as possible on the goodwill of individual companies, in this case Microsoft. That is why we are developing Theia under the umbrella of the Eclipse Foundation.
These three points are the elementary difference to VS Code and in this respect, Theia is not in competition with VS Code at all, because Microsoft has no interest in serving as a basis for products of other vendors. At least that was the case when we talked to the product manager at the time about a possible cooperation. Of course, that is absolutely fine.
JAXenter: And what are the differences between Theia and VS Code in terms of features and functionality?
Sven Efftinge: We’ve adopted a lot of the UX of VS Code and we only do things differently if we have good reasons to do so. For example, the Workbench Shell is much more flexible and generic than in VS code.
JAXenter: Now the choice of words “True Open Source Alternative” indicates that VS Code is not a “true” open source project.
Sven Efftinge: This refers to the lack of vendor neutrality. VS Code is primarily a Microsoft product that is largely developed as open source, but that is 100% controlled and developed by Microsoft. Apart from the lack of extensibility (see above), this means that I, as a company, can’t really build new innovations on it because I then become dependent on the goodwill of Microsoft.
Kubernetes, for example, was founded by Google in an Open Source Foundation (CNCF), so that the whole world can work together on it and the technology really belongs “to the general public”. Kubernetes would certainly not be where it is today if it had continued to be 100% controlled by Google.
JAXenter: Who is currently working on the Theia project? Who supports it?
Sven Efftinge: Besides TypeFox, Ericsson and Red Hat are also working on it with several full-time developers each. In addition, we constantly receive high-quality pull requests from many different organizations and individuals. The Theia project is one of the most diverse and active projects under the umbrella of the Eclipse Foundation.
JAXenter: And what are the plans? Which new features are to come?
Sven Efftinge: We continue to focus on providing a good quality platform to allow companies to develop their own tools based on Theia. Stability and performance are especially important here. Furthermore, we will of course regularly implement the new features in the extension protocols of VS Code, which Theia natively supports. Theia already supports working with tablets (especially iPads), but we want to improve this significantly. Other topics we are currently discussing in the community include a multi-window mode that allows me to split Theia across multiple screens.
Many have now asked for downloads for the desktop version of Theia 1.0. We haven’t done that so far, but we’ll make up for it in the second half of the year.
The Theia project is led by Marc Dumais (Ericsson) and me. But the decision-making process is always democratic. A key person in the Theia project is my long-time friend and colleague Anton Kosyakov, who has developed and designed large parts of the project, is active as a helpful core developer, and spends a lot of time every day supporting the community with advice, action and code reviews.
JAXenter: Thank you very much for this interview!