Eclipse是一個平臺,它是構建集成web與桌面應用程序的開發工具。在設計時,平臺並不給最終用戶提供大量的功能。平臺推崇基於插件模型(plug-in model)的可集成的快速開發。web
Eclipse提供了一個通用的用戶界面模型處理工具。它被設計成能夠運行在多種操做系統之上,同時提供與每一個底層操做系統緊密集成。編程
Eclipse的核心是一個動態發現、加載和運行插件的體系結構。該平臺處理查找和運行右側代碼的流程。平臺界面提供了一個標準的用戶導航模型。插件則專一於少數量的任務上。是哪些類型的任務呢?定義,測試,動畫,發佈,編譯,調試,生成圖表……一切只要你想的到。後端
開放的體系結構服務器
Eclipse平臺定義一個開放的體系結構,每一個插件的開發團隊能夠專一於他們擅長的領域。如,讓倉庫專家構建後端,易用性專家構建用戶端工具。若是平臺被設計的很好,能夠添加劇要的新特性和整合層次而不影響其餘工具的使用。架構
從最終用戶的角度來看,Eclipse平臺使用集成了工具的通用工做臺模型。你開發的工具可使用定義良好的鉤子插進工做臺中,這個鉤子稱爲擴展點。框架
平臺自身是創建在插件層次上的,每個插件定義了低層次插件的擴展點的擴展,進而爲進一步的定製定義本身的擴展點。這樣的擴展模型容許插件開發者在基本工具平臺中添加各類不一樣的功能。每一個工具生產出來的工件(artifact),如文件和其它數據,經過一個通用的平臺資源模型來進行協調。工具
(譯者注:擴展點是定義,擴展是實現,相似於接口和實現類。)開發工具
平臺提供給用戶一個使用工具的通用方式,並提供對他們用插件建立的資源進行綜合管理。測試
插件開發人員也能夠從這個架構中獲益。平臺管理着由不一樣運行時環境如不一樣的操做系統或工做組服務器運行環境所帶來的複雜性。插件開發人員能夠專一於他們特定的任務而不用擔憂這些集成問題。動畫
平臺結構
Eclipse平臺自己就是子系統構成的,由一個或多個插件實現。這些子系統在一個小型的運行時引擎之上建造。下圖是一個簡單的描繪。
組成這個子系統的插件爲給平臺添加行爲,定義了多個擴展點。下表描述了平臺的主要運行時組件,這些組件由一個或多個插件來實現。
平臺運行時(Platform runtime) |
定義擴展點和插件模型。動態發現插件和在平臺註冊表中維護插件及其擴展點的信息。當須要平臺響應用戶操做時,插件被啓動。運行時使用OSGI框架實現。 |
資源管理(Resource Management(workspace)) |
定義資源建立和管理的API。這些資源包括項目、文件和文件夾,由工具生成並保存在文件系統中。 |
工做臺界面(Workbench UI) |
實現了導航平臺的用戶駕駛艙。它爲添加UI組件定義了擴展點,如視圖或菜單的動做(actions)。爲建立用戶界面提供了附件的工具包(JFace 和 SWT)。UI服務是結構化的,所以UI插件的子集能夠被用來建立富客戶端的應用程序,獨立於資源管理和workspace模型。以IDE爲中心的插件爲導航和操做資源定義了附加的功能。 |
幫助系統(Help system) |
像瀏覽書本同樣,爲插件定義擴展點,能夠提供幫助或者其它的文檔。 |
團隊支持(Team support) |
爲管理和版本化資源,定義了一個團隊編程模型。 |
調試支持(Debug support) |
爲構建調試器和啓動器,定義了一個語言獨立的調試模型和UI類。 |
其它工具(Other utilities) |
其它提供功能性的工具性插件,好比資源的搜索和比較,使用XML配置文件執行構建,以及從服務器動態升級平臺。 |
盒子以外
離開了web,基礎平臺僅僅只是一個IDE,沒有什麼特別的。
它是一個肯定平臺最終功能的插件。這就是爲何Eclipse SDK與附加的插件綁定在一塊兒,以加強SDK的功能。
你的插件能夠爲編輯和操做額外的資源類型提供支持,如Java文件,C程序,Work文檔,HTML網頁和JSP文件。