Over the past two decades, the Eclipse Platform and the Eclipse Rich Client Platform (RCP) have provided the core technologies for building richly featured language IDEs, tools, and applications that are portable across desktops. While these projects have been and will certainly continue to be key areas of focus for the Eclipse Foundation, it’s clear that cloud and web technology is the next big thing in IDE and tool development.
With the cloud becoming a more prominent development platform, a growing number of next-generation IDEs and tools are being built with web technologies. This has created a need to support both desktop and cloud environments with the same functionality and, ideally, the same platform.
This is where Eclipse Theia comes in. Despite not sharing a single line of code with the desktop-based Eclipse Platform, the Eclipse Theia platform innovates on the lessons learned from the last 20 years of work on the Eclipse desktop and RCP.
Eclipse Theia Offers a Slimmer, Web-Based Technology Stack
The desktop-based Eclipse Platform has been the basis for a huge number of custom tools built for use in a broad range of domains.
Theia is a slim, flexible, and extensible platform with a web-based technology stack, which offers multiple advantages. It’s built on modern and standard technologies, leaving more development resources to focus on core capabilities.
Since it was first launched in 2017, Eclipse Theia has improved by leaps and bounds. For those considering making a move, let’s do a quick comparison between Eclipse Theia and the desktop Eclipse Platform.
Eclipse Platform vs. Eclipse Theia
Eclipse Theia and the desktop Eclipse Platform offer many of the same features. They both:
- Provide similar workbenches and are highly modular
- Can access a huge ecosystem of available extensions
- Are Eclipse Foundation projects and benefit from a strong and vendor neutral ecosystem
Of course, Theia, as the next-generation platform, also improves a lot of things. Let’s pick four areas where Theia shines:
- Running in the cloud. No big surprise, Theia-based IDEs and tools can be deployed in the cloud and accessed via a browser. It is worth mentioning, though, that you can also build desktop applications with Theia. You can even do both at the same time, providing the full flexibility for your migration phase with almost no overhead.
- Flexibility and adaptability. The desktop Eclipse Platform offers an extension API, and so does Eclipse Theia. However, Theia is more flexible and adaptable because it also uses dependency injection in all areas, making it highly modular and even allowing you to easily replace core implementations with custom behavior.
- Modern technology stack. Theia is built on a modern web technology stack which uses industry standards such as TypeScript or Node. Therefore, Theia benefits from the substantial innovation in the web ecosystem. Being based on industry standards also makes recruiting developers for IDE and tools projects significantly easier.
- UI framework support. When it comes to UI framework support, Eclipse Theia offers significantly more options. The Eclipse Platform is bound to SWT, and while it’s still a great piece of technology, Eclipse Theia isn’t bound to any particular browser UI framework, making it more flexible and less dependent on a single toolkit. When it comes to diagrams, Eclipse Theia shines because of Eclipse GLSP and Eclipse Sprotty. Eclipse GLSP provides a world-leading web-based framework for diagram editors and a dedicated integration with Theia. And because GLSP is based on Sprotty and SVG, it provides superior rendering capabilities compared to the GEF runtime that Eclipse desktop relies on.
Check out this blog for a full, point-by-point comparison of the Eclipse Platform and Eclipse Theia.
Eclipse Theia Also Offers Functionality for RCP Workbench Applications
Eclipse also provides the Rich Client Platform, a framework for building general-purpose applications. When migrating these kinds of applications to the web, you do not necessarily need the tool-oriented features of the Theia platform. However, there are existing RCP applications for which Eclipse Theia can be a good target platform when migrating to the web.
“Workbench applications,” as we call them, are a good example of where Eclipse Theia can be useful. It’s a somewhat nebulous definition, but a few examples of some key functionalities are:
- A workbench window layout with stacked views layout and sashes
- The ability to install additional addons/plugins/extensions at runtime
- Access to an underlying file system
Check out this blog for a full breakdown.
Theia Is the Next Generation of Eclipse
Eclipse Theia implements the lessons learned from two decades and provides a next-generation version of the Eclipse Platform. It is based on a modern and standard technology stack using industry best practices. It adopts the core success factors of Eclipse but innovates on them, such as by providing more flexibility.
If you are looking for a platform for your next IDE or tool project — greenfield or migration — Theia may be the perfect choice.