Eclipse (software)
From Free net encyclopedia
←Older revision | Newer revision→
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 highly-regarded 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 popular BitTorrent client Azureus for example.
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 and IBM Rational.
Contents |
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's widgets are implemented by a third generation widget toolkit for Java called SWT, unlike most Java applications, which use Sun's first and second generation toolkits (AWT and Swing, respectively). Eclipse's user interface also leverages an intermediate GUI layer called JFace, which simplifies the construction of applications based on SWT.
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), PHP, Perl, Ruby, Python, 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.[1] 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.
- 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 as a replacement for VisualAge which itself had been developed by OTI. In November 2001, an IBM-independent foundation was formed to further the development of Eclipse.
Eclipse 3.0 (2003) selected the OSGi Service Platform specifications as the runtime architecture.
Licensing
Eclipse was originally released under the Common Public License, but was later relicensed under the Eclipse Public License. About both licenses, Free Software Foundation has said that they are free software licenses, but are incompatible with the GNU General Public License (GPL). [2] Mike Milinkovic, of the Eclipse Foundation has commented that moving to the GPL will be considered when version 3 of the GPL is released. [3]
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. [4]
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.
- 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
- EclipsePedia - Wiki for Eclipse projects
- EclipseCon - Annual technical and user conference on Eclipse
- PHPeclipse - Plugins for PHP development with Eclipse
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 technology project.
- List of UML tools.cs:Eclipse (vývojové prostředí)
da:Eclipse (program) de:Eclipse (IDE) es:Eclipse (computación) fr:Eclipse (logiciel) ko:이클립스 it:Eclipse lt:Eclipse nl:Eclipse ja:統合開発環境Eclipse pl:Eclipse pt:Eclipse (IDE) ru:Eclipse sk:Eclipse sv:Eclipse tr:Eclipse vi:Eclipse (môi trường phát triển tích hợp) zh:Eclipse