Eclipse Che
| Company type | Open source |
|---|---|
| Industry | Software development, Integrated development environment |
| Founded | October 2014 |
| Headquarters | Cherkasy , Ukraine |
| Products | Developer workspace server, Cloud-based IDE |
| Owner | Eclipse Foundation (implied by being an Eclipse project) |
| Website | www |
Eclipse Che is an open-source developer workspace server and cloud-based integrated development environment (IDE) built on Java, designed to support multi-user remote development. It includes a versatile RESTful web service and an SDK for building plug-ins tailored to various programming languages, frameworks, or tools. As a flagship initiative under Eclipse Cloud Development (ECD), Eclipse Che encourages contributions from the community.
History
The initial announcement of Eclipse Che took place in October 2014, with Codenvy playing a significant role by supplying the foundational technology stack. The idea was first conceived by eXo Platform in early 2009, which after three years secured $9 million in investment and established Codenvy as an independent company. The transfer of intellectual property to the Eclipse Cloud Development project marked the beginning of Eclipse Che’s formal development. Codenvy continues to exist as a commercial solution built upon the Eclipse Che core. Currently, major enterprises such as IBM, Red Hat, Samsung, SAP, Microsoft, Intuit, eXo Platform, WSO2, and Serli contribute alongside numerous open source developers globally.
Licensing
Eclipse Che is distributed under the Eclipse Public License, which shares similarities with the Common Public License.
Name
The designation "Che" is derived from Cherkasy (Ukraine), where a large portion of its development takes place.
Supported languages and frameworks
Out-of-the-box, Eclipse Che supports the following programming languages and frameworks:
| Category | Supported Technologies |
|---|---|
| Programming Languages | C, C++, C#, F#, Go, Java, JavaScript, PHP, Python, Ruby, SQL, TypeScript |
| Frameworks | AngularJS, Docker, .Net 2.0, Kubernetes, OpenShift, Yeoman |
| Build Tools | Ant, Bower, Grunt, Gulp, Maven, Npm |
| Version Control and Utilities | Git, Orion, SSH, Subversion |
Approach
Eclipse Che functions as a workspace server hosted on an application server that delivers an integrated IDE accessible through web browsers. Once loaded initially, the IDE provides an interactive interface featuring elements such as wizards and editors. Users can establish workspaces that include projects and environments made up of machines—runtime instances preconfigured with required software. For instance, when a Maven project is added to a workspace, the Workspace Master ensures Maven is installed across all machines to maintain uniform execution conditions. The platform offers prebuilt technology stacks for quick deployment and also supports custom stacks for enhanced adaptability.
Technological stack
Built as a Java-based application running on an Apache Tomcat server, Eclipse Che’s browser IDE leverages the Google Web Toolkit. Its extensibility is enabled through an SDK that facilitates creation of plug-ins packaged into assemblies capable of running either as standalone server applications or desktop clients. The management of project runtime environments is handled via Docker.
Users
Eclipse Che identifies three primary user groups: developers who access the IDE through remote or local instances; product owners responsible for provisioning on-demand workspaces; and plug-in developers who create client-side IDE or server-side workspace manager extensions.
Features
Eclipse Che delivers a broad range of capabilities designed specifically for development teams:
- Portable Workspaces: Workspace configurations can be effortlessly saved, transferred, and synchronized across different Che installations.
- Docker Images: Workspaces operate on Docker-managed machines, supporting a wide array of technologies.
- OpenShift Infrastructure Support: Deployment of Che is compatible with OpenShift platforms.
- Workspace Agents: Each machine is equipped with agents that provide SSH connectivity, system monitoring, and remote debugging features.
- Workspace Snapshots: Allows users to save and restore workspace environments beyond temporary sessions.
- Multi-user and Multi-tenancy: Facilitates simultaneous collaboration among hundreds of users, making it suitable for large-scale teams and enterprises.
- Collaborative Workspaces: Enables multiple developers to work within shared workspace servers without the need for local installations.
- Git Visualization: Project files display color-coded indicators reflecting their Git status, improving version control visibility.
- RESTful Workspaces: The browser-based IDE interacts with the workspace manager through RESTful API calls.
- Debugger: Provides sophisticated debugging capabilities including thread management, conditional breakpoints, and suspension policies.
- DevOps Integration: Developers can track the status of machines directly through the IDE interface.
- Plug-In Framework: An SDK is available for creating custom plug-ins to extend functionality.
- Open-Source Development: Developed over four years with contributions from a global community.
As a server-based solution, Eclipse Che permits multiple developers to access a single workspace concurrently via the browser IDE. At present, it employs a last-write-wins approach for handling simultaneous file edits. Future enhancements aim to introduce multi-cursor support for collaborative editing within individual files.
Workspaces may scale extensively, potentially spanning several machines. When one host cannot meet resource demands, it is advisable to deploy distinct Che instances per user or group, allowing numerous servers to operate within the same environment. Codenvy provides a scalable infrastructure accessible on-demand or as a SaaS offering.
Planned updates will include support for remote Docker containers, enabling users to execute containers on various hosts without relying on local resources.
Further reading
- Official Eclipse Che Documentation
- Eclipse Che - The IDE of the future?
- Getting Started with Eclipse Che
- Eclipse Che Conference 2018