Jump to content

Eclipse Che

From Alfawiki
Eclipse Che
Company typeOpen source
IndustrySoftware development, Integrated development environment
FoundedOctober 2014; 12 years ago (2014-10)
Headquarters
Cherkasy
,
Ukraine
ProductsDeveloper workspace server, Cloud-based IDE
OwnerEclipse Foundation (implied by being an Eclipse project)
Websitewww.eclipse.org/che/

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

External links