Eclipse Theia: Successor to Eclipse?

Sorting | Edited by Zhang Yuming | Produced by Tu Min
| CSDN (ID: CSDNnews)

Eclipse is a Java-based, open source, and extensible application development platform that provides programmers with a first-class Java Integrated Development Environment (IDE). In the blink of an eye, Eclipse has been around for more than 20 years. However, the Internet is evolving rapidly, and the next generation of desktop products and applications are now being built using web technologies. In many cases, there is a need to support desktop and web deployments with the same functionality. Many Eclipse platform adopters found a new platform, Theia, to better migrate their existing tools, IDEs and applications. So, will Eclipse Theia be the next generation of Eclipse?

What is Eclipse Theia?

Eclipse Theia is a cloud and desktop IDE framework created by the Eclipse Foundation, a flexible platform for developing tools for any purpose. It integrates well with technologies like JSON Schema, EMF, JSON Forms, EMF.cloud, Sprotty, and GSLP through its extension and plugin API.

Eclipse Theia vs Eclipse Desktop

Will Eclipse Theia be the next generation of Eclipse Desktop? What are the similarities between the two and what are the advantages of each? Jonas Helming, one of the leaders at EclipseSource, answered this question in a recent blog post.

Without further ado, let's take a look at the final results of the comparison, and then we will compare them one by one in the following.
insert image description here

workbench

The workbench provided by Eclipse Desktop consists of high-level window layouts, including views, editors, menus, toolbars, and perspectives. Additionally, it can manage preferences, global selections and many other features.

Eclipse Theia supports almost all of these features, the only thing is that it doesn't support perspective. However, since Theia currently has the window layout stored and restored, it is simple to add this layout if needed. There may be a few other things missing from Eclipse Theia, but it won't make a big difference in practice.

Compared to Eclipse Desktop, some of the features in Theia are better, for example, Theia workbench is fully designable and themeable.

Overall, Eclipse Desktop has more features, while Theia has better styling options and a simpler workbench API, and in this respect the two seem to be on par.
insert image description here

modularity

Eclipse's excellent modularity is an important factor in its success. The introduction of OSGi in version 3.0 improves the modularity of Eclipse, and Eclipse Theia also continues this advantage of Eclipse, it even supports two modules: Theia extension and VS Code extension. This round, Eclipse Desktop and Eclipse Theia are also tied.

flexibility and adaptability

Eclipse Desktop is flexible and adaptable due to its extension API. However Theia seems to be better in this regard as it employs dependency injection in all areas (including core) and users can easily adapt and replace almost everything. Eclipse Theia will win more users who like to customize.

User Interface Framework Support

Although SWT is a few years old, it is still a great technology. Using technologies such as JFace and EMF Forms, users can still develop desktop UIs very efficiently. However, the vast majority of UIs are now web-based, so the technological development in web UI frameworks has surpassed that of the desktop. This overshadows the native look that SWT had had early success with.

And Eclipse Theia is the clear winner in this round. With Theia, users can choose from a huge ecosystem of browser UI frameworks, and they can also flexibly change the theme and style of the Web-based UI.

language support

In terms of language support, being able to use programming languages ​​very easily by including the corresponding modules is a great advantage of Eclipse Desktop and Eclipse Theia.

Eclipse Desktop has world-class support for popular programming languages ​​such as Java, C/C++ and Python.

Eclipse Theia supports the Language Server Protocol (LSP), allowing users to use any language server, even those outside the Eclipse ecosystem.

LSP enables language support to be built independently of any tool. For example, users can use the same language server in Theia, VS Code or even Eclipse Desktop. Additionally, language servers can be developed in any language, usually in the languages ​​they support. For example, the C/C++ community can implement language support in C without worrying about UI technology.

Overall, Eclipse Desktop and Theia are indistinguishable in this regard. For languages ​​with native support in Eclipse Desktop, specifically Java, C/C++ or Python, Eclipse Desktop may still win. However, in the number of supported languages, LSP is superior. However, Theia supports LSP better than Eclipse Desktop.

insert image description here

image

In this regard, Theia is even better. With the GEF and GMF runtimes, the Eclipse desktop became a popular platform for diagram editors.

But with Eclipse GLSP (based on Eclipse Sprotty), the ecosystem provides a world-leading framework for diagram editors based on the modern web stack.

GLSP (Graphics Language Server Platform) works like LSP, but for diagrams. Therefore, GLSP is not limited to Theia, but can be used in different tool platforms and web applications.

Additionally, GLSP provides a dedicated integration for Theia that makes it easy to connect the GLSP editor with many of Theia's native features.
insert image description here
Data-centric tools and modeling

Eclipse Desktop can satisfy any requirement for a modeling tool, but like diagrams, this area was not the focus of earlier web-based tools. However, with the advent of EMF.cloud and JSON Forms, an ecosystem of Theia-centric web-based data center tools has grown. EMF.cloud provides some new components, but it also allows you to reuse some existing technologies in the EMF ecosystem, including EMF itself.

While Eclipse Desktop still offers more functionality in this area, this may not be the case for long, and Theia may surpass Eclipse Desktop before long.

Available extensions

The Eclipse tool platform and all Eclipse IDEs can be extended with plug-ins. In addition, the Eclipse Marketplace provides access to a large number of tool functions.

Eclipse Theia supports VS Code extensions, and the Eclipse Foundation has established an Open Marketplace for these extensions called Open VSX.

Both Marketplaces carry nearly the same number of expansions, so this round is a clear draw.

Runs in web/browser/cloud

The winner of this competition is undoubtedly Theia.

Because the Eclipse Tool Platform is built for the desktop, not the browser. Of course, users can also use the Remote Application Platform (RAP) to migrate RCP applications to the browser, but there are still some limitations, so it is not enough to meet the needs of users.

Whereas Eclipse Theia is designed based on the web stack and users can use it to build desktop based tools (using Electron) or run it in a browser.

Ecosystem and Maintenance

Because both projects are Eclipse open source projects, there is no need to compare open governance, vendor neutrality, licenses, or transparent processes. So this aspect only compares the diversity and stability of its ecosystem.

Over the past 20 years, Eclipse Desktop has clearly achieved stellar results and projects have become more diverse.

The current Eclipse Theia is more diverse than the Eclipse Desktop of the same age, so it is likely to surpass the Eclipse Desktop in the future, after all, the big shift based on the Web platform has just begun.

It's also worth noting that Theia's codebase is much smaller compared to Eclipse Desktop. The main reason is that Theia reuses many standard libraries and technologies (such as HTML, CSS or LSP), which reduces the maintenance burden of the platform.

If considering the future development, web-based tools become a big trend, then Eclipse Theia has the potential to gain more users and contributors in the next few years. But now it seems that this aspect can still be regarded as a draw.

out of the box

The Eclipse Tool Platform itself is not a downloadable IDE product, but can be used to build tools. However, the Eclipse ecosystem has provided excellent tools and IDEs based on the platform from the beginning, most importantly Java development tools, but also many others, e.g. for C/C++, Python or modeling.

Theia is focused on being an excellent platform that users can use Theia by using adopter-provided Theia-based tools such as Eclipse Che, Arm Mbed Studio, or the new Arduino IDE. The Theia Blueprint release last year provided a Theia-based templating tool that was available as an off-the-shelf IDE, but wasn't quite there yet. So this time, Eclipse pulled back a game.

Summarize

Although many aspects seem to be indistinguishable in the comparison of various aspects, in fact, Theia has caught up with the Eclipse Desktop Platform in many aspects. Combined with the future development trend, it can be said that Eclipse Theia is the subordinate of the Eclipse Tool Platform. generation. But this does not mean that Eclipse IDE, Eclipse Tool Platform will be deprecated.

Do you think Eclipse Theia is the next generation of Eclipse? Which of the two appeals to you more? Welcome to leave a message to tell us.

References:

https://eclipse-foundation.blog/2022/04/19/eclipse-theia-is-the-next-generation-of-eclipse/
https://eclipsesource.com/technology/eclipse-theia/

Guess you like

Origin blog.csdn.net/csdnnews/article/details/124472766