Developer(s) | Eclipse Foundation |
---|---|
Initial release | 4.0 / 29 March 2016 [1] |
Stable release | |
Repository | github |
Operating system | Cross-platform: Linux, Mac OS X, Solaris, Windows |
Platform | Java SE |
Type | Programming tool, Integrated development environment (IDE) |
License | Since 6.9.0: EPL-2.0 [3] Until 6.8.0: EPL-1.0 |
Website | www |
Eclipse Che is an open-source, Java-based developer workspace server and online IDE (integrated development environment). It includes a multi-user remote development platform. The workspace server comes with a flexible RESTful webservice. It also contains a SDK for creating plug-ins for languages, frameworks or tools. [4] Eclipse Che is an Eclipse Cloud Development (ECD) top-level project, allowing contributions from the user community. [5]
This article contains content that is written like an advertisement .(July 2024) |
Eclipse Che was first announced in October 2014. One of its main contributors, Codenvy, delivered the technological stack which Che is based on. [6] The idea behind the cloud based IDE and its development came up in early 2009 by the eXo Platform. After three years of ongoing development the project raised $9 million and developed a stand-alone business called Codenvy. [7] After announcing the Che project including intellectual property donation and participation in the Eclipse Cloud Development project the development of the Che project began. Codenvy itself is today a commercial product built on top of Eclipse Che. [6] Today, there are many contributors besides Codenvy like IBM, Red Hat, Samsung, SAP, Microsoft, Intuit, eXo Platform, WSO2, and Serli, as well as numerous open source contributors from Brazil, Canada, China, France, India, Russia, Sri Lanka, Ukraine, and United States. [5]
Eclipse Che is released under the Eclipse Public License which is similar to the Common Public License. [8]
The name "Che" is based on the fact that most of the development is done in Cherkasy (Ukraine). [6]
By default, the following programming languages and frameworks are supported: [9]
Category | Support |
---|---|
Languages | C, C++, C#, F#, Go, Java, JavaScript, PHP, Python, Ruby, SQL, TypeScript [10] |
Frameworks | AngularJS, Docker, .Net 2.0, Kubernetes, OpenShift, Yeoman |
Builders | Ant, Bower, Grunt, Gulp, Maven, Npm |
Tools | Git, Orion, SSH, Subversion |
Che itself is a workspace server running on an application server. Che provides an integrated IDE which can be used via a browser. After the initial load the IDE provides a dynamic user interface including known components like wizards, editors, toolbars and many more. The user has the opportunity to create workspaces, projects, environments, machines and many other modules that are needed to build a project from scratch. The communication between the user interface and the server is done using RESTful APIs that interact with the so-called Workspace Master. One workspace may include zero or more projects and must at least include one environment, which itself contains at least one machine. A machine is a runtime that has the necessary software installed. If the user adds for example a project which uses Apache Maven, the Workspace Master installs Maven on any machine in the workspace to ensure the project can be executed on each machine. Che comes with some predefined technology stacks to quickly set up a new machine. To ensure high flexibility and extensibility the user may also define custom technology stacks which can be used to set up new machines. [4]
Eclipse Che is a Java application which runs by default on an Apache Tomcat server. The IDE which is used inside the browser is written using the Google Web Toolkit. Che is highly extensible since it delivers a SDK which can be used to develop new plug-ins which can be bundled to so called assemblies. Later on, an assembly can be executed as a stand-alone server application or desktop client using the included installers. The machines where the projects can be executed are managed by Docker. [4]
Che divides its users in three groups. The developers are the actual users of the IDE. This can either be by accessing a remote Che server or by having a local instance of Che running. Product owners may use Che to provide on-demand workspaces. Plug-In Providers can develop either client-side IDE or server-side workspace manager plug-ins. [4]
Eclipse Che comes with a lot of new functionality and flexibility: [11]
Since Che is a server application it can be accessed by multiple developers at once. Each developer can connect to the same workspace using the browser IDE. Right now, Eclipse "Che implements a last-write-wins policy when multiple users modify the same file." [13] In a future release it is planned to include multi-cursor visuals to enable collaborative multi-user editing of a single file. Workspaces may get very large, because a workspace can have a lot of machines included. If a single host is no longer enough it is recommended to provide an own Che instance for each user or user group. That means, that you can have many servers running Che in the same ecosystem. Codenvy also offers a scaling ecosystem that can be installed on-demand or can be used as SaaS. In future releases it is also planned to enable remote Docker containers so users do not need to have all containers running on the same host. [13]
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, HLASM, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, PL/I, Prolog, Python, R, Rexx, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.
Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.
Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.
Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.
Carbide.c++ is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the Eclipse IDE platform enhanced with extra plug-ins to support Symbian OS development. The product is provided by the Symbian Foundation under an open source model. In April 2009, Nokia transferred Carbide.c++ and many other software developer tools to the Symbian Foundation. Members of the Symbian community now manage and contribute code to the Carbide.c++ product.
Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.
Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.
Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.
Open Cobalt is a free and open-source software platform for constructing, accessing, and sharing virtual worlds both on local area networks or across the Internet, with no need for centralized servers.
The Wing Python IDE is a family of integrated development environments (IDEs) from Wingware created specifically for the Python programming language with support for editing, testing, debugging, inspecting/browsing, and error-checking Python code.
Mbed is a development platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers. The project was a collaboratively developed by Arm and its technology partners. As of July 2024 Mbed is no longer actively developed by Arm.
Brackets is a source code editor with a primary focus on web development. Created by Adobe Inc., it is free and open-source software licensed under the MIT License, and is currently maintained on GitHub by open-source developers. It is written in JavaScript, HTML and CSS. Brackets is cross-platform, available for macOS, Windows, and most Linux distributions. The main purpose of Brackets is its live HTML, CSS and JavaScript editing functionality.
Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems. It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012.
Architect is an open-source integrated development environment (IDE), based on Eclipse. It serves as a multi-purpose workbench for data scientists, by providing support for various programming languages and technologies.
Eclipse Theia is an Eclipse open source project providing the Theia Platform and the Theia IDE.
Google Cloud Shell is an online, browser-based command-line environment provided by Google Cloud Platform (GCP). It is a Debian-based virtual machine with a persistent 5 GB home directory, allowing users to manage their GCP resources and projects directly from their web browser.