zoukankan      html  css  js  c++  java
  • Eclipse 项目及其平台架构

    Eclipse 專案及其平臺架構

    現在,先來看看 Eclipse 項目,再共同領略一下 Eclipse 平臺的體系結構。

    1. Eclipse 項目

    Eclipse 生態環境是一個大型社區並且有時令人生畏。在筆者寫作本書時,Eclipse 中正在開發的專案超過 90 個,而各個發行版只是一個縮影,Eclipse Callisto3.2 版)發行了 10個專案,而 Eclipse Europa3.3 版)的發行推出了 21 個項目,Eclipse Ganymede3.4 版)則同步發行了 24 個主要的 Eclipse 項目(如表 3.1 所示),Eclipse Galileo3.5 版)包括 33個項目。各發行版旨在展示 Eclipse 技術,還幫助採用者把 Eclipse 技術集成到他們的產品之

    中。

    3.1 Ganymede 發行系列專案(按照字母排序)

     

    序號 項目 大綱 Web 站點
    1 Business Intelligence and Reporting Tools (BIRT) 生成報表 /birt
    2 Buckminster 簡化部署 /Buckminster
    3 C/C++ Development Tools (CDT) 編寫 C/C++ 代碼 /cdt
    4 Dynamic Languages Toolkit (DLTK) 編寫 Perl Ruby 代碼 /dltk
    5 Device Software Development Platform — Device
    Debugging (DSDPDD)
    調試嵌入式設備 /dsdp/dd
    6 Device Software Development Platform — Native
    Application Builder (DSDPNAB)
    構建設備 GUI /dsdp/nab
    7 Device Software Development Platform — Target
    Management (DSDPTM)
    遠程流覽器(SSH /dsdp/tm
    8 Eclipse Data Tools Platform (DTP) 管理以資料為中心的系統 /datatools/
    9 Eclipse Communications Framework (ECF) Eclipse 中交談 /ecf
    10 Eclipse Project 用於構建 Eclipse 的工具,包括 PlatformJDTPDE Equinox /eclipse
    11 Eclipse Modeling Framework (EMF) 開發模型 /emf
    12 Eclipse Modeling Framework Technologies (EMFT) 用於輔助模型開發的實用程式 /emft
    13 Eclipse Packaging Project (EPP) 構建安裝程式 /epp
    14 Graphical Editing Framework (GEF) 開發圖形應用程式 /gef
    15 Graphical Modeling Framework (GMF) 開發圖形編輯器 /gmf
    16 Model Development Tools (MDT) 用於輔助模型開發的實用程式 /mdt
    17 M2M 用於模型轉換語言的框架 /m2m/
    18 Model To Text (M2T) 用於輔助模型開發的實用程式 /m2t
    19 Mylyn 關注基於任務的開發 /mylyn
    20 Rich Ajax Platform (RAP) 開發基於 Eclipse Web2.0應用程式 /rap
    21 SOA Tools Platform (STP) 面向 SOA 的工具 /stp
    22 Subversive 支援子版本 /subversive
    23 Test and Performance Tools Platform (TPTP) 分析程式(Profiler /tptp
    24 Web Tools Platform (WTP) 編寫基於 Web 的應用程式 /webtools

    注:表 3.1 中的 Web 站點鏈結的基底位址為:http://www.eclipse.org

    有興趣的讀者可以進一步查閱相關資源。接下來,簡要介紹 Eclipse 的框架結構。

    2. Eclipse 平臺架構

    Eclipse 是當前世界上最新最實用的 IDE 環境,被譽為令人著迷的可以隨心所欲定制的開發環境,它提供的核心框架和可擴展的插件機制給廣大程式師提供了無限的想像和創造空間,網上流傳相當豐富且全面的開發工具方面的插件,使 Eclipse 已經超越了開發環境的概念。現在,您可以先想一想或者查閱一下 Mozilla Firefox 及其插件,體驗一下這個 Web 流覽器是不是很好的解決了擴展性問題。

    Eclipse 也一樣,通過它的插件模式我們可以安裝不同的插件來進行 HTML 的編輯、資料庫的設計、Java 開發、C++ 開發等等,所有這些開發工作完全在一個 Eclipse 安裝平臺上進行。而且 Eclipse 模型所能做的遠超過了這些,理解 Eclipse 插件的關鍵是首先要理解 Eclipse擴展點,正是這個擴展點幫您在 Eclipse 中添加新功能。例如,如果希望在功能表中添加一項,就是通過 Eclipse 擴展點實現的。

    所以當 Eclipse 插件實現了一個擴展點,就創建了一個擴展,此外,擴展還可以創建自己的擴展點。這種插件模式的擴展和擴展點是遞迴的,而且被證明是非常靈活的。在最初對Eclipse 開發進行區域性調查時,最初的決定之一便是:We will eat our own dog food(注:諺語,指一個公司在日常運行中使用自己的產品),即 Eclipse 團隊要使用 Eclipse 進行 Eclipse的開發。事實上,Eclipse 本身是一個核心的運行時綁定了一些在插件之上構建的插件,換句話說,Eclipse 本身就是一系列的插件。這樣隨著使用 Eclipse 構建 Eclipse 的經驗累積,這種插件模式就變得日臻成熟,並從而造就了 Eclipse IDE 市場上的霸主地位。

    實際上,目前的 Eclipse 本身就具備資源管理和外部程式的功能,加上無所不能的插件,將構成一個豐富多彩的工作環境而不僅僅是一個 IDEEclipse JVM 為底層,包含了PlatformJDTJava Development Tools)、PDEPlugin

    Development Environment)等幾層,

    如圖 3.11 所示。Eclipse 的特徵就在於可以使用 plugin(插件程式)來擴展它的功能。

      

    Eclipse 平臺(Eclipse Platform)就像一幢房子,由數種元件組成:平臺核心(Platform kernel)、工作臺(Workbench)、JFaceSWT、工作空間(Workspace)、團隊元件(Team component)和說明元件(Help)以及 JDTPDE 等等都是基於這個平臺的插件。下面介紹一下這些基礎插件的基本功能,以幫助讀者理解以更加自如的駕馭 Eclipse 這把利器

    Workbench 用來控制工作臺。工作臺指的是桌面開發環境。工作臺的任務就是創建、管理和導航工作臺的資源,並提供公共範例,從而獲得無縫的工具集成。啟動 Eclipse 後,工作臺是主要的工作視窗(參閱圖 3.18),Eclipse 工作臺可以用來創建、管理和導航專案,也可以管理資源。但它本身並不知道如何編輯、運行和測試 Java 程式或 JSP 頁面,這些功能都是由其他元件來完成的。簡單的說,Workbench 負責控制工作臺上包括功能表、視圖、透視圖等等的操作。Workbench 包含用於構建用戶介面的附加工具箱 JFace SWT

    SWTStandard Widget Toolkit是一個類似 awtswing Java 元件,是一個羽量級的元件,是 awt swing 的強大競爭者,而且和 awtswing 不同的是,它底層實現不是基於JRE,而是根據不同作業系統,有相應的動態連結程式庫實現,所以作出來的效果很專業,SWT主要用於 Workbench UI 繪製。迄今為止,SWT 無論是在性能和外觀上,都超越了 SUN公司提供的 awt swing,而且,SWT 已經十分穩定。

    JFace 是基於 SWT 的一個插件,對 SWT 進行了封裝,封裝實現了對話方塊、視圖等東西。

    Workspace 是用來控制工作空間的(有別於工作臺),包括對工作空間中項目的控制、刪除、添加、編譯專案資源等等,都由它來控制。Eclipse 平臺體系結構的重點在於工作空間。工作空間維護構建和測試軟體專案所需的一切,它包含物件(源代碼和資源),還保存了用於專案、IDE 和插件的配置設置。

    Help 是一個 Eclipse 幫助系統,單擊 Eclipse 的功能表HelpHelp Content就可以打開這個幫助系統,這個系統不是封閉的,可以進行擴展。

    Team 是一個 CVS 系統,可以和 CVS Server 協調使用,進行版本控制。

    JDT Java Development Tools,用來開發 Java 的插件。這是 Eclipse 附帶的一個標準的插件集,大多數用戶可以把 Eclipse 當作 Java IDE 來使用,雖然它本身遠不止於此。

    PDE Plug-in Development Environment,開發插件的平臺。

    Eclipse 平臺的用戶介面(UIUser Interface;參見圖 3.16)有這幾個組件:功能表、工具欄、視圖、透視圖、編輯器。

    視圖就是 View,比如 NavigatorOutlineTasks 等等都是視圖,每一個視圖都有自己相應的功能,可以參看 Workbench User Guide 來瞭解這些視圖。

    編輯器,就是 Editor,比如有開發 Java 的編輯器,編寫文本的編輯器,等等。

    透視圖,英文是 perspectiveEclipse 工作臺把幾個視圖的組合稱為透視圖,如:Java透視圖,每個工作臺視窗都包含一個或多個透視圖。透視圖定義工作臺窗口中視圖(View,如 MenuToolbarEditor 等)的初始集和佈局。在視窗中,每個透視圖共用同一組編輯器。每個透視圖都提供了一組功能,目的在於完成特定類型的任務或使用特定類型的資源。比如要開發 Java,就經常會用到 Package ExplorerTasksOutline View 和編寫Java Editor,以及適合開發 Java 的功能表(Source Refactor),那它就會佈局一個適合開發 Java 的透視圖;而調試透視圖包含將在調試 Java 程式時使用的視圖。當在工作臺中工作時,有可能頻繁地在各個透視圖之間進行切換。

    透視圖控制出現在特定功能表和工具欄中的內容。它們定義可視操作集,可以更改這些操

    作集來定制透視圖,並且可以保存以此方式構建的透視圖,並建立自己的定制透視圖,稍後

    可以再次打開它。

    小貼士 當把 Eclipse 的面孔整的一塌糊塗、目不忍睹的時候,可以使用Window

    Reset Perspective菜單將 Eclipse 還原成默認的老面孔(透視圖)。

  • 相关阅读:
    2019年8月16日_实验室学术论文研讨
    2019年8月2日实验室学术研讨会议
    2019年7月26日实验室学术研讨会议
    2019年7月12日实验室开展学术研讨
    hdu 5547
    hdu 1286
    hdu 1272
    hdu 1213
    poj 2533 LIS(最长上升序列)
    HUD 5773 LIS(最长上升序列)
  • 原文地址:https://www.cnblogs.com/Snowfun/p/1885266.html
Copyright © 2011-2022 走看看