- Tech know how online


Eclipse is an open source development environment that was realized with the objective of modularity. Thus, Eclipse is a platform that can be extended depending on the task. The extension of the Eclipse platform is done by plug-ins. Originally designed as an integrated development environment (IDE) exclusively for the Javaprogramming language, today a variety of current languages such as C++, PHP, Ruby, Scala and others are supported by corresponding plug-ins. Furthermore, the tool also maps additional processes such as the specification, testing and management of different software versions.

The basis of the software architecture of Eclipse since version 3.0 is aligned with the software platform of OSGi, the basis of which is the use of Java technology. The current version is 3.5, which was made available under the project name Galileo in June 2009.

The development of Eclipse goes back to a source code of the company IBM, which released it in 2001 for further development. IBM chose the license model Common Public License (CPL). This makes it possible to develop so-called closed-source software with the support of the open-source tool Eclipse. Afterwards, the source code remains with the developer, and the software product created can thus also be commercially exploited. In the transition to the now responsible - and legally independent - Eclipse Foundation in 2004, this model of licensing was retained. The Eclipse Foundation is a non-profit organization that coordinates the development of the Eclipse software platform without, however, developing it itself; the software is developed externally.

The Eclipse design concept

The design concept for Eclipse up until the development of version 3.0 was to implement it as an integrated development environment (IDE). With version 3.0, however, the design of Eclipse changed fundamentally. Its basis is now Equinox, which is the name of a framework that supplements the specification of the OSGi software platform and implements additional functionalities. This platform is based on Java technology, so that Eclipse is also implemented in Java. Especially the possibility of extending Eclipse by additional applications is supported by this framework. Thus, Eclipse itself implements the core functionality, which then flexibly loads individual plug-ins for the actual application.

The freely available Eclipse IDE therefore contains, in addition to the so-called Rich Client Platform (RCP), the tools for Java development, the Java Development Tools, as well as the tools for the development of Plug-Ins, the Plug-In Development Tools.

Eclipse Architecture

Eclipse Architecture

According to this, Eclipse consists of the Platform Runtime, which represents the basic infrastructure for the interaction of various other components. This is built upon by the Rich Client Platform, which in turn consists of various components:

Workbench Realizes the infrastructure of Eclipse, and provides everything needed to display the graphical interface of the so-called perspective. Perspectives consist of views as well as editors, and provide the connection to the plug-ins, which then use the interfaces of Workbench.

SWT and JFace Are class libraries that can be used to develop graphical user interfaces (GUI). Alternatively, applications can be created in Abstract Windowing Toolkit (AWT) or Swing.

Workspace Organizes the user's resources. Here, each project is stored in a separate folder. This also notes any changes made to the resources as well as communicating them to other tools such as version control (CVS).

Team Organizes the interaction between Eclipse and Concurrent Versioning System (CVS).

Help Serves to create and present help texts, e.g. for self-developed plug-ins.

Thereby the Eclipse platform offers a number of interesting functions like refactoring, for interactive debugging or for individual control of the translation.

Plug-ins are used to extend the functionality of Eclipse. This creates an individual working environment in which various tools - organized by the Platform Runtime - interact cohesively.

A common function of Eclipse is the development of Java applications, but there are extensions for a number of different programming languages such as C, C++, C-Sharp (C#), Ruby, Perl, ColdFusion, Python, Fortran, Scala, Groovy etc. However, Eclipse is not limited to the function of a pure development environment. Various projects of the Eclipse Foundation, among others, have resulted in additional interesting additions. For example, those that support development processes such as Mylyn (task-oriented development) or Saros (distributed pair programming). Also for modeling, for example, the Eclipse Modeling Framework (EMF) has been organized.

In addition to the numerous extensions with regard to a tool that comprehensively maps the software development process, the open structure of the platform also leaves the user with a wide range of options for using it for their own tool development.

Informationen zum Artikel
Englisch: Eclipse
Updated at: 29.10.2013
#Words: 1300