Eclipse

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

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

## 歷史

Eclipse 最初是由 IBM 公司開發的替代商業軟體 Visual Age for Java 的下一代 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 的應用程式的構建。

### 外掛程式

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 由各種不同的計劃組成。以下列出了部分計劃，更完整全面的列表在此（英文）。

* **Eclipse 計劃**：本身包括 Eclipse 平台，Eclipse 富客戶端平台（RCP）和 Java 開發工具（JDT（頁面存檔備份，存於網際網路檔案館））。
* **Eclipse 測試和效能工具平台**（TPTP）：提供一個允許軟體開發者構建諸如測試除錯、概況分析、基準評測等測試和效能工具的平台。
* **Eclipse Web 工具平台計劃**（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 商業智慧型和報表工具計劃**（BIRT）：提供 Web 應用程式（特別是基於 Java 企業版的）的報表開發工具。
* **Eclipse 視覺化介面編輯器計劃**（VEP）：一個 Eclipse 下建立圖形化使用者介面碼產生器的框架。
* **Eclipse 建模框架**（EMF）：依據使用 XMI 描述的建模規格，生成結構化資料模型的工具和其他應用程式的代碼。
* **圖形化編輯器框架**（GEF）：能讓開發者採用一個現成的應用程式模型來輕鬆地建立富圖形化編輯器。
* **UML2**：Eclipse 平台下的一個 UML 2.0 元模型的實現，用以支援建模工具的開發。
* **AspectJ**：一種針對 Java 的面向側面語言擴充。
* **Eclipse 通訊框架**（ECF）：專注於在 Eclipse 平台上建立通訊應用程式的工作。
* **Eclipse 資料工具平台計劃**（DTP）
* **Eclipse 裝置驅動軟體開發計劃**（DSDP）
* **C/C++ 開發工具計劃**（CDT）：努力為 Eclipse 平台提供一個全功能 C 和 C++ 的整合式開發環境（IDE），它使用 GCC 作為編譯器。
* **PHP 開發工具計劃**（PDT）：努力為 Eclipse 平台提供一個全功能 PHP 的整合式開發環境（IDE）。
* **Eclipse 平台 COBOL 整合式開發環境子計劃**（COBOL（頁面存檔備份，存於網際網路檔案館））：將構建一個 Eclipse 平台上的全功能 COBOL 整合式開發環境。
* **並列工具平台**（PTP）：將開發一個對平行計算機架構下的一組工具進行整合的平行工具平台，而且這個平台是可移植的，可伸縮的並基於標準的。
* **嵌入式富客戶端平台**（eRCP）：計劃將 Eclipse 富客戶端平台擴充到嵌入式裝置上。這個平台主要是一個富客戶端平台（RCP）組件子集的集合。它能讓桌面環境下的應用程式模型能夠大致同樣地能運用在嵌入式裝置上。

## 版本

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

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

 

從 2006 年起，Eclipse 基金會每年都會安排**同步發佈**（simultaneous release）。

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

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

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

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

## 參考資料

## 參閱

## 外部連結

* Eclipse 的官方網站 上面提供相關的郵寄清單、新聞群組以及 Eclipse 軟體及外掛程式下載。
* 有關 Eclipse 2.0 API 的網站
* 有關 Eclipse 2.1 API 的網站（頁面存檔備份，存於網際網路檔案館）
* 有關 Eclipse 3.0 API 的網站
* Acceleo, Eclipse 的代碼生成程式（頁面存檔備份，存於網際網路檔案館）
* Eclipse 教學（頁面存檔備份，存於網際網路檔案館）