Eclipse

Eclipse 是一款跨平臺開源整合開發環境（IDE）。最初主要用來 Java 語言開發，目前亦有人透過外掛使其作為 C++、Python、PHP 等其他語言的開發工具。

Eclipse 的本身只是一個框架平臺，但是眾多外掛的支援，使得 Eclipse 擁有較佳的靈活性，所以許多軟體開發商以 Eclipse 為框架開發自己的 IDE。

歷史

Eclipse 最初是由 IBM 公司開發的替代商業軟體的下一代 IDE 開發環境，2001 年 11 月貢獻給開源社群，現在它由非營利軟體供應商聯盟 Eclipse 基金會（Eclipse Foundation）管理。2003 年，Eclipse 3.0 選擇 OSGi 服務平臺規範為執行時架構。2007 年 6 月，穩定版 3.3 釋出；2008 年 6 月釋出代號為 Ganymede 的 3.4 版；2009 年 6 月釋出代號為 Galileo 的 3.5 版；2010 年 6 月釋出代號為 Helios 的 3.6 版；2011 年 6 月發布代號為 Indigo 的 3.7 版；2012 年 6 月發布代號為 Juno 的 4.2 版；2013 年 6 月發布代號為 Kepler 的 4.3 版；2014 年 6 月發布代號為 Luna 的 4.4 版；2015 年 6 月發布代號為 Mars 的 4.5 版。 最新版為 2020 年 12 月的 4.18 版。

架構

Eclipse 的基礎是富客戶機平臺（即 RCP）。RCP 包括下列元件：

核心平臺（啟動 Eclipse，執行外掛）
OSGi（標準集束框架）
SWT（可移植構件工具包）
JFace（檔案緩衝，文字處理，文字編輯器）
Eclipse 工作臺（即 Workbench，包含檢視（views）、編輯器（editors）、視角（perspectives）、和嚮導（wizards））

Eclipse 採用的技術是 IBM 公司開發的（SWT），這是一種基於 Java 的視窗元件，類似 Java 本身提供的 AWT 和 Swing 視窗元件；不過 IBM 聲稱 SWT 比其他 Java 視窗元件更有效率。Eclipse 的使用者介面還使用了 GUI 中間層 JFace，從而簡化了基於 SWT 的應用程式的構建。

2.1 外掛

Eclipse 的外掛機制是輕型軟體元件化架構。在富客戶機平臺上，Eclipse 使用外掛來提供所有的附加功能，例如支援 Java 以外的其他語言。已有的分離的外掛已經能夠支援 C/C++（CDT）、PHP、Perl、Ruby，Python、telnet 和資料庫開發。外掛架構能夠支援將任意的擴充套件加入到現有環境中，例如配置管理，而決不僅僅限於支援各種程式語言。

Eclipse 的設計思想是：一切皆外掛。Eclipse 核心很小，其它所有功能都以外掛的形式附加於 Eclipse 核心之上。Eclipse 基本核心包括：圖形 API（SWT/Jface），Java 開發環境外掛（JDT），外掛開發環境（PDE）等。

框架的本質與極高的擴充套件性，使得廠商可以利用 Eclipse 作為平臺開發各類 IDE。甚至一些應用軟體也是基於 Eclipse 的，如 Oracle JDK 自帶的監控程式、Android SDK 附帶的裝置監視工具 DDMS。

Eclipse 計劃

Eclipse 由各種不同的計劃組成。以下列出了部分計劃，更完整全面的列表 //www.eclipse.org/projects/ 在此（英文）。

Eclipse 計劃：本身包括 Eclipse 平臺，Eclipse 富客戶端平臺（//www.eclipse.org/rcp/ RCP）和 Java 開發工具（ JDT）。
Eclipse 測試和效能工具平臺（//www.eclipse.org/tptp/index.html TPTP）：提供一個允許軟體開發者構建諸如測試除錯、概況分析、基準評測等測試和效能工具的平臺。
Eclipse Web 工具平臺計劃（//www.eclipse.org/webtools/index.html WTP）：用 Java 企業版 Web 應用程式開發工具來擴充套件 Eclipse 平臺。它由以下部分組成：HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD 和 WSDL 的原始碼編輯器；XSD 和 WSDL 的圖形介面編輯器；Java 企業版的 “專案性質”（project nature）、建構器（builder）和模型（model），與一個 Java 企業版的導航（navigator）；一個 Web 服務（Web service）嚮導和瀏覽器，還有一個 WS-I 測試工具；最後是資料庫訪問查詢的工具與模型。
Eclipse 商業智慧和報表工具計劃（//www.eclipse.org/birt/ BIRT）：提供 Web 應用程式（特別是基於 Java 企業版的）的報表開發工具。
Eclipse 視覺化介面編輯器計劃（//www.eclipse.org/vep/ VEP）：一個 Eclipse 下建立圖形使用者介面程式碼生成器的框架。
Eclipse 建模框架（//www.eclipse.org/emf/ EMF）：依據使用 XMI 描述的建模規格，生成結構化資料模型的工具和其他應用程式的程式碼。
圖形化編輯器框架（//www.eclipse.org/gef/ GEF）：能讓開發者採用一個現成的應用程式模型來輕鬆地建立富圖形化編輯器。
UML2：Eclipse 平臺下的一個 UML 2.0 元模型的實現，用以支援建模工具的開發。
AspectJ：一種針對 Java 的面向側面語言擴充套件。
Eclipse 通訊框架（//www.eclipse.org/ecf/ ECF）：專注於在 Eclipse 平臺上建立通訊應用程式的工作。
Eclipse 資料工具平臺計劃（//www.eclipse.org/datatools/ DTP）
Eclipse 裝置驅動軟體開發計劃（//www.eclipse.org/dsdp/ DSDP）
C/C++ 開發工具計劃（//www.eclipse.org/cdt CDT）：努力為 Eclipse 平臺提供一個全功能 C 和 C++ 的整合開發環境（IDE），它使用 GCC 作為編譯器。
PHP 開發工具計劃（//www.eclipse.org/pdt PDT）：努力為 Eclipse 平臺提供一個全功能 PHP 的整合開發環境（IDE）。
Eclipse 平臺 COBOL 整合開發環境子計劃（ COBOL）：將構建一個 Eclipse 平臺上的全功能 COBOL 整合開發環境。
並行工具平臺（//eclipse.org/ptp PTP）：將開發一個對平行計算機架構下的一組工具進行整合的平行工具平臺，而且這個平臺是可移植的，可伸縮的並基於標準的。
嵌入式富客戶端平臺（//www.eclipse.org/ercp eRCP）：計劃將 Eclipse 富客戶端平臺擴充套件到嵌入式裝置上。這個平臺主要是一個富客戶端平臺（RCP）元件子集的集合。它能讓桌面環境下的應用程式模型能夠大致同樣地能運用在嵌入式裝置上。

版本

在 Eclipse 基金會及其專案和貢獻者社群，對我們經常被稱為協調排程版本同時發布，協同發布或發佈列車的 Eclipse。此頁面提供當前和前幾年現有同時發布的索引。

自 2018-09 發布以來，節奏從一個年度主要版本加上 3 個更新 / 服務版本變為帶有滾動版本的 13 週週期。

從 2006 年起，Eclipse 基金會每年都會安排 //wiki.eclipse.org/Simultaneous_Release 同步釋出（simultaneous release）。

Eclipse 基金會及其社群專案和貢獻者每年都會按照協調的時間表發布一個版本。 此版本通常被稱為 Eclipse 的同時發布，

協調發布，發布培訓或年度版本。 此頁面提供了當前和以前年份的現有同步發布的索引。

每個版本通常在 6 月份發布，並在 9 月份（ .1），12 月份（ .2）和 3 月份（* .3）發布後續更新版本。

在 Neon (4.6) 之前，每個發行版在 9 月份（SR1）和次年 2 月份（SR2）發布了兩個服務版本。

參閱

NetBeans 另一著名的開源多語言開發平臺、IDE 軟體
IntelliJ IDEA 另一著名的商業 Java IDE
WSAD IBM 的商業 Java IDE（WebSphare Application Developer）
Visual J++ Microsoft 的商業 Java IDE
JBuilder Borland 的商業 Java IDE
g-Eclipse