← New search

Other meanings of Eclipse Che

Software Development

Eclipse Che

Eclipse Che is a cloud-native integrated development environment (IDE) and developer workspace server that provides containerized development environments accessible through a web browser. It is an open-source project under the Eclipse Foundation, designed to support collaborative and remote development workflows. Che leverages Kubernetes to manage workspaces, which are pre-configured with tools, dependencies, and runtimes, enabling consistent and reproducible development environments. The platform integrates with popular version control systems and CI/CD pipelines, and it supports multiple programming languages through its extensible plugin system. Eclipse Che is often used by organizations to standardize development environments and to enable cloud-based development for distributed teams.

2016
Initial release year
Eclipse Che was first released in 2016, evolving from earlier Eclipse Orion and RDT projects.
Apache 2.0
License
Eclipse Che is licensed under the Apache License 2.0, allowing free use and modification.
Kubernetes
Orchestration platform
Che uses Kubernetes to manage workspaces, ensuring scalability and isolation.
Devfile
Workspace definition format
Che uses Devfiles (YAML-based) to define workspaces, enabling reproducibility and sharing.
1

Architecture and core concepts

Eclipse Che is built around a client-server architecture where the IDE runs in the browser and the backend operates on a Kubernetes cluster. The server component, called Che Server, manages workspace lifecycle, user authentication, and project provisioning. Each workspace is a set of containers that include the source code, runtime, and tools, isolated from other workspaces. The workspace engine uses Kubernetes pods and services to orchestrate these containers, providing scalability and resource management. Che also integrates with a registry of ready-to-use stacks and devfiles, which are YAML files that define the workspace configuration, including plugins, environment variables, and commands. This design allows developers to spin up consistent environments on demand, reducing the 'works on my machine' problem.

2

Key features and integrations

Eclipse Che offers a rich set of features that support modern development workflows. It includes a full-featured IDE based on the Eclipse Theia framework, which provides code editing, debugging, and terminal access. Che supports multi-user collaboration, allowing multiple developers to work on the same workspace simultaneously. It integrates with Git, GitHub, GitLab, and Bitbucket for source control, and with CI/CD tools like Jenkins and GitHub Actions. The platform also supports remote development via SSH and provides a REST API for automation. Che's plugin system, based on the Eclipse Che plugin registry, enables the addition of language servers, debuggers, and other tools. Furthermore, Che can be deployed on various Kubernetes distributions, including OpenShift, and offers a SaaS version called Red Hat OpenShift Dev Spaces.

3

Lesser-known aspects

Beyond its mainstream use, Eclipse Che has several lesser-known facets. It originated from the Eclipse Orion project, which was a browser-based IDE, and the Remote Development Tools (RDT) project. Che's initial release in 2016 was a significant shift from desktop IDEs, but it initially faced criticism for complexity. The project introduced the concept of 'workspaces as code' with devfiles, which later influenced the Devfile specification now under the Cloud Native Computing Foundation (CNCF). Che also supports 'chectl', a command-line tool for managing Che installations, and offers a 'che-machine-exec' component for executing commands in workspaces. Additionally, Che can be used for teaching and training, as it provides disposable environments for students. The project has a vibrant community and has been adopted by companies like IBM and Samsung for internal development.

4

Adoption and ecosystem

Eclipse Che has been adopted by various organizations to streamline development processes. Red Hat offers OpenShift Dev Spaces, a commercial distribution of Che, which is integrated with OpenShift and provides additional enterprise features. The Eclipse Che community maintains a public instance at che.eclipse.org for evaluation and testing. Che is also used in academic settings for teaching programming and software engineering courses. The ecosystem includes a rich set of plugins and stacks contributed by the community, covering languages like Java, Python, Go, and JavaScript. Che's integration with Kubernetes has made it a popular choice for cloud-native development, and it is often compared with other remote development solutions like Gitpod and Visual Studio Codespaces. The project continues to evolve, with regular releases and a roadmap focused on improving performance and user experience.

Glossary

Devfile
A YAML file that defines a development workspace, including tools, commands, and configuration.
Workspace
A containerized environment that includes source code, runtime, and tools for development.
Che Server
The backend component of Eclipse Che that manages workspaces and user interactions.
Eclipse Theia
A cloud and desktop IDE framework that serves as the basis for Che's editor.

Eclipse Che is a registered trademark of the Eclipse Foundation.