(转)Eclipse平台技术概述
在OpenExpressApp make business engineers develop applications中說過先考慮使用EMF先實現一個TOGAF9的建模工具來綜合的了解建模更方面的知識,然后再做評估是自己開發還是采用開源產品來做OpenExpressApp的建模支持。
MEF是Eclipse的一個開源項目,它是建立在Eclipse平臺之上的,而我之前沒有真正使用過Eclipse來做開發,也沒有在JAVA領域中開發過,所以在學習EMF之前我首先要大概的了解一下Eclipse平臺技術,以下是我參考http://www.eclipse.org/whitepapers/eclipse-overview.pdf文檔內容學習到對Eclipse平臺技術的一個概述了解,如果你是Eclipse新手,也想MEF等建模開源項目的使用,那么就關注我這個系列吧!可能我的理解是錯誤的,也可能我的學習資料是舊的,如果你已經非常了解又看到這個系列了,希望你能指出我的錯誤和提供你的幫助:)
Eclipse平臺架構
運行時和插件(Platform Runtime and Plug-in Architecture)
- 插件是一個Eclipse平臺的小功能,它可以單獨開發和發布。
- 通常一個小工具可以是一個插件,但是復雜的工具可能由多個插件組成。除了小的內核Platform Runtime,Eclipse平臺的所有功能都是有插件實現的。
- 插件是由Java編寫的代碼,一個典型的插件包含一個JAR類庫代碼,一些只讀的文件和一些圖片、Web模板、消息目錄、本機代碼庫等資源文件,而有些插件甚至都不包含代碼。
- 一個簡單的插件代碼庫和只讀內容被放在同一個目錄下或者服務器的一個基準URL下,還有一種機制允許插件由多個不同分布區域(每個部分由自己的目錄或者URL)組合而成,這種機制可以用來分發國際化語言包插件。
- 3.0之前每個插件有一個清單(manifest)文件,這個文件聲明了它與其他插件的關系,這個關系比較簡單:一個插件定義了一些提供的擴展點(extension points)和一些實現其他插件擴展點的擴展(extensions)。插件的擴展點可以有其他插件擴展功能。現在插件建立在OSGI標準之上,OSGi bundle清單文件為META-INF/MANIFEST.MF。
- 啟動時,Platform Runtime發現一些可以使用的插件,讀取它們的清單文件,構建一個內存表現的插件注冊表。平臺通過相應的擴展點聲明進行匹配,任何錯誤都被檢查出來并記錄日志中。插件在啟動后就不允許再動態添加了。
- Eclipse平臺的更新管理器下載和安裝新功能或者現有功能的更新版本(一個功能是一組一起安裝和更新的相關插件)。更新管理器會生成一個可用插件的一個配置文件,以便平臺啟動時使用。如果更新有不滿意時,用戶還可以回滾近期的配置。
- 示例:Command擴展
工作區(Workspaces)
工作區用作workspac eclips 用作項目的缺省內容區,還用于保存任何必需的元數據。工作區包括一個或多個頂級項目,不同的項目可以處在不同的系統目錄,但是缺省處在同一個目錄下。
SWT
????
?由于JAVA可以在不同操作系統上運行,之前的UI控件只有各種操作系統的最小集。JAVA AWT提供一些低級別的控件,例如列表、文本框、按鈕,但是
沒有高級別控件,例如樹、rich text等。JAVA Swing提供了一些樹、表等控件解決AWT的問題,但是這些控件仍舊不能滿足UI需求。
SWT通過定義一套通用的API來解決這個問題,支持不同的操作系統,它是一個窗口構件集和圖形庫,它集成于本機操作系統提供的GUI API。
?
JFace
JFace是建立在SWT之上的UI部件,是Eclipse組織為了開發Eclipse IDE環境所編寫的一組底層圖形界面 API,其底層實現為SWT。它擴展了 SWT并能與 SWT 交互操作。JFace工具箱提供了一組功能強大的用戶界面組件,例如圖形、對話框、向導等,開發人員可以輕松地在獨立應用程序中利用這些組件,以簡化常見的UI編程任務。JFace在其API和實現方面都是獨立于窗口系統的,它旨在使用SWT而不隱藏它。
工作臺(Workbench)
一個工作臺窗口包括一些視圖(Views)和編輯器(editors)。編輯器允許用戶打開、編輯和保存對象,這些操作與工作臺緊密結合。視圖可以輔助編輯器,提供信息。
透視圖(Perspectives)組合它們并布局在屏幕上,每個透視圖有自己的視圖和編輯器。工作臺可以有多個獨立的透視圖,但只能有一個是激活的,可以通過切換查看不同透視圖。
工作臺提供了一些主要的擴展點:
- 添加新的編輯器
- 添加新的視圖
- 添加新的透視圖
我們還可以增強現有編輯器、視圖和透視圖的功能:
- 在現有的視圖菜單和工具條中增加動作
- 當編輯器激活時再工作臺目錄和工具中增加動作
- 在現有視圖和編輯器的彈出菜單增加動作
- 在現有透視圖中增加視圖、動作集和快捷方式
UI集成(New Tool)
使用平臺API寫的代碼可以與平臺獲得高級別的集成,Eclipse支持以下幾種UI集成:
- 工作臺內建支持OLE文檔作為編輯器(只限Window操作系統),這可以提供更緊密的UI集成
- 插件工具可以在編輯器、視圖、窗口或向導中使用ActiveX控件(只限Window操作系統)
- 插件可以使用AWT或Swing
團隊支持(Team)
對工作區的項目進行配置管理,可以添加從庫獲取文件、更新文件或者比較不同版本文件等功能。平臺提供擴展點,允許使用新的團隊資源庫。
幫助(Help)
Eclipse幫助機制允許同居定義和發布一個或多個在線文檔,是一個可擴展的文檔系統。
JDT(Java Development Tooling):增加JAVA開發能力
- ?Workbench showing Java perspective
- JDT Implementation
轉載于:https://www.cnblogs.com/panweishadow/p/3545578.html
總結
以上是生活随笔為你收集整理的(转)Eclipse平台技术概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java.logging的重定向?
- 下一篇: 【重温经典算法之二】快速排序