Eclipse (software)
Encyclopedia : E : EC : ECL : Eclipse (software)
Eclipse is a free software / open source platform-independent software framework for delivering what the project calls "rich-client applications", as opposed to "thin client" browser-based applications. So far this framework has typically been used to develop IDEs (Integrated Development Environments), such as the Java IDE called Java Development Toolkit (JDT) and compiler that comes as part of Eclipse (and which are also used to develop Eclipse itself). However, it can be used for other types of client application as well. See the BitTorrent client Azureus for example.
Eclipse is also a community of users, constantly extending the covered application areas. As an example, the recently created EMP Eclipse (Top Level) Modeling Project covering most areas of Model Driven Engineering.
Eclipse was originally developed by IBM as the successor of its VisualAge family of tools. Eclipse is now managed by the Eclipse Foundation, an independent not-for-profit consortium of software industry vendors. Many notable software tool vendors have embraced Eclipse as a future framework for their IDEs, among them Borland, BEA Systems, IBM Rational and Xilinx FPGA Development.
Architecture
The basis for Eclipse is the rich client platform (RCP). The following components constitute the rich client platform:
- Core platform (boot Eclipse, run plugins)
- OSGi (a standard bundling framework)
- SWT (a portable widget toolkit)
- JFace (file buffers, text handling, text editors)
- The Eclipse Workbench (views, editors, perspectives, wizards)
Eclipse employs plugins in order to provide all of its functionality on top of the rich client platform, in contrast to some other IDEs where functionality is typically hard-coded. This plugin mechanism is a lightweight software componentry framework and for example allows Eclipse to support other languages in addition to Java. Separate plugins have been created that add support for, among others, C/C++ ([CDT]), CFML (CFEclipse), Fortran ([Photran]), Lua (LDT), PHP (PHPeclipse), Perl (EPIC), Ruby ([RDT]), Python ([PyDev]), telnet and database development. There is also a plugin facilitating Wikipedia editing: [Plog4U]. The plugin architecture supports writing any desired extension to the environment, such as for configuration management. It does not have to be used solely to support other programming languages.
Eclipse is also an example of a SCID, an IDE which stores its code in a database rather than a flat text file.[link] This allows for advanced refactoring techniques.
Eclipse projects
Eclipse is composed of many different projects. Some projects are listed below. A complete list can be found [here].
- The Eclipse Project per se which includes the Eclipse Platform, Eclipse Rich Client Platform ([RCP]) and the Java Development Tools ([JDT]).
- The Eclipse Test and Performance Tools Platform ([TPTP]) which provides a platform that allow software developers to build test and performance tools, such as debuggers, profilers and benchmarking applications.
- The Eclipse Web Tools Platform project ([WTP]) extends the Eclipse platform with tools for developing Java EE Web applications. It's composed of : source editors for HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD, and WSDL; graphical editors for XSD and WSDL; Java EE project natures, builders, and models and a Java EE navigator; a Web service wizard and explorer, and WS-I Test Tools; and database access and query tools and models.
- The Eclipse Business Intelligence and Reporting Tools Project ([BIRT]), an Eclipse-based open source reporting system for web applications, especially those based on Java EE.
- The Eclipse Visual Editor project ([VE]) a framework for creating GUI builders for Eclipse
- The Eclipse Modeling Framework ([EMF]) a modeling framework and code generation facility for building tools and other applications based on a structured data model, from a model specification described in XMI.
- The Eclipse Generative Modeling Tools ([GMT]) a set of modeling tools for example for performing QVT model transformations.
- The Graphical Editor Framework ([GEF]) allows developers to take an existing application model and easily create a rich graphical editor.
- UML2 an implementation of the UML 2.0 metamodel for the Eclipse platform designed to support the development of modeling tools.
- AspectJ is an aspect-oriented language extension to Java
- The Eclipse Communication Framework ([ECF]) is aimed to enable the creation of communications applications on the Eclipse Platform.
- The Eclipse Data Tools Platform Project ([DTP])
- The Eclipse Device Software Development Project ([DSDP])
- C/C++ Development Tools Project ([CDT]) is working towards providing a fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform.
- COBOL IDE for Eclipse Subproject ([COBOL]) will build a fully functional COBOL Integrated Development Environment (IDE) for the Eclipse platform.
- Parallel Tools Platform ([PTP]) will deliver a portable, scalable, standards-based parallel tools platform that will enable the integration of tools specifically suited for parallel computer architectures.
- Photran ([photran]) is a fully functional Fortran Integrated Development Environment (IDE) with Refactoring support.
- Embedded Rich Client Platform ([eRCP]) intent is to extend the Eclipse Rich Client Platform (RCP) to embedded devices. eRCP is largely a set of components which are subsets of RCP components. It basically enables the same application model used on desktop machines to be used on devices.
History
Eclipse began as an IBM Canada project. It was developed by OTI (Object Technology International) as a replacement for VisualAge which itself had been developed by OTI. In November 2001, a consortium was formed to further the development of Eclipse as open source. In 2003, an IBM-independent foundation was created.Eclipse 3.0 (2003) selected the OSGi Service Platform specifications as the runtime architecture.
Callisto
In 2006 the Eclipse Foundation coordinated its 10 open-source projects, including the Eclipse Platform 3.2, to release on a same day. This simultaneous release was known as the [Callisto release].Licensing
Eclipse was originally released under the Common Public License, but was later relicensed under the Eclipse Public License. The Free Software Foundation has said that both licenses are free software licenses, but are incompatible with the GNU General Public License (GPL). [link] Mike Milinkovich, of the Eclipse Foundation has commented that moving to the GPL will be considered when version 3 of the GPL is released. [link]Localization
As of October 2005, the following language packs are available for Eclipse 3.1.1 (in alphabetical order): Arabic, Simplified Chinese, Traditional Chinese, Czech, French, German, Hungarian, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, and Spanish. [link]References
- OSGi Service Platform, Release 3, IOS Press, ISBN 1-58603-311-5
- [OSGi Specification Download]
External links
- [Official Eclipse website] - Has mailing-lists, newsgroups, plugins, and more.
- [Eclipsepedia] - The Eclipse.org Wiki for individual Eclipse foundation projects.
- [Planet Eclipse] - The latest blog entries on the subject of Eclipse.
- [Eclipse API]
- [Eclipse Documentation] - Documentation for the Eclipse SDK
- [EclipseIDA-Interactive DisassemblerToDecompiler] Eclipse module with Interactive Disassembler
- [Eclipse plugin site] - One of the most popular eclipse plugin directories.
- [EclipseWiki]
- [Eclipse Wikipedia Editor Plugin] - A syntax highlighting editor with upload/download capabilities for wikipedia texts
- [Build and Test Automation for plugins and features] - documents Eclipse's PDE Build process
- [EclipseZone] - An online community by and for Eclipse users everywhere
- [EclipseCon] - Annual technical and user conference on Eclipse
- [PHPeclipse] - Plugins for PHP development with Eclipse
- [EclipseTracker] - Eclipse News Aggregator
See also
- JBuilder, future editions will be based on Eclipse.
- IntelliJ IDEA, developed by JetBrains, Inc., best known for its refactoring features.
- JDeveloper, by Oracle, became free since June, 2005.
- NetBeans — the first modular, open source, multi-language platform and IDE for Java written 100% in Java.
- ATL— a QVT-like langage functioning on top of MDR-NetBeans and Eclipse/EMF, together with a significant collection of model transformation examples available from the GMT EMP project.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
