xiaoxiaoleemin

天道酬勤,小小加油
posts - 19, comments - 12, trackbacks - 0, articles - 0

Eclipse是一个开源软件项目,它的目标是提供最好的工具集成平台。Eclipse软件具有Common Public License,就是说你可以使用、修改其中的代码,可以重新发布为free版本,也可以作为私有项目的一部分。
       Eclipse项目分为三个子项目:Eclipse项目,Tools项目和Technology 项目。
     
       Eclipse项目:主要包括Eclipse开发的核心组件,即Eclipse SDK,它用于支持平台或者框架的开发。Eclipse本身是用Java开发的,但是它可以用于实现其它语言的开发工具。Eclipse项目又分为三个子项目:Platform,JDT(Java Development Tools),PDE(Plugin Development Tools).基于这三个子项目足以任意扩展Eclpse框架或者开发其它工具。

  • Platform:Eclpse的核心组件。它提供了插件开发和工具集成所需要的框架和服务,比如标准的工作台用户界面,项目、文件和文件夹的管理机制等。
  • JDT是Java的集成开发环境,甚至可以用于开发Eclipse本身。
  • PDE为Eclipse插件提供view和editor。PDE建立在JDT的基础上并且进行了扩展,它支持一些非Java的插件开发活动,比如定义扩展点。
      Tools项目:Eclipse平台开发出来的各种为其它应用提供支持的工具。如CDT是一个实现C++集成开发环境的子项目,GEF是一个提供图形编辑功能的子项目,而EMF是一个由形式化模型定义转化为模型代码的子项目。
      Technology项目:为关心Eclipse的研究员或者学术界人士提供机会。如XML Schema Infoset Model项目就是一个基于EMF的用于读取、操作XML Schema的库。
       
      下面介绍一下Eclipse项目的Platform子项目的几个重要特征:
    (1)Plug-in体系结构:
      在Eclipse中,提供某个功能的基本单元或者构件成为插件(Plugin)。Eclipse平台以及在其上面扩展的其它一些工具都是由一系列插件组成。插件包括运行所需要的Java代码、图片文件、文本文件、名为Plugin.xml的Manifest文件等。plugin.xml声明了该插件与其它插件的关系:其中,Requires声明它的运行所依赖的其它插件;Exports声明它的公有类对其它插件的可见性;Extension Point声明了其它插件使用它的方式;Extensions声明它所使用的其它插件的扩展点。
     Eclipse启动时先找到所有可用的插件,但是不全部启动。当真正需要某个插件的时候才为该插件分配自己的Class loader并运行插件,这种性质成为“Lazy Start”。
    (2)工作台资源:
    Eclipse中资源(resource)是指具有如下特性的任何文件或者文件夹:可以在上面注册Change Listener 以监听资源的变化;可以在上面添加错误信息或者TODO列表等Marker;可以跟踪其历史变化。Project是一类特殊的文件夹类型的资源,即文件系统中用户指定的一个文件夹。
    (3)UI框架:
    Eclipse的UI框架包括SWT和JFace,以及定义了整个EclipseIDE的整体结构的工作台界面。
  •  SWT (Standard Widget Toolkit)是一个独立于操作系统的图形库,它尽可能多的调用操作系统的native widget。而Java的AWT只有List,Text Field和Button(各种操作系统下这些组件的外观类似)等底层组件是调用操作系统的,其它组件都是Swing自己模拟。所以AWT和Swing在不同的操作系统下开发出来的界面外观类似,导致与本地操作系统更个不协调。而SWT只有在操作系统没有native实现的情况下才自己模拟,因此开发的界面与本地操作系统风格一致。
  •  JFace是用SWT实现的更高层次的工具集,负责图像字体的管理、对话框、向导、进度条等任务。JFace并没有像用户隐藏SWT的API,因此用户可以同时使用JFace和SWT。JFace的一个重要内容是提供标准的试图类,如 list,tree,table等组件的viewer,它们与SWT中的List,Tree,Table组件对应,只是从更高层次上显示数据。 Action Framework用来为菜单和工具条添加命令,是JFace的另一主要内容。
  • 工作台是用户使用Eclipse的主窗口,由SWT和JFace实现。一个主窗口由一系列的view和editor组成。工作台上view和editor的位置可以自由排列,每种排列方式叫做一个Perspective。

 


只有注册用户登录后才能发表评论。


网站导航: