2024年4月25日发(作者:)

Eclipse简介

2009-03-26 13:40:29 来源:百度 作者:null 编辑:null

Eclipse最初是IBM的一个软件产品,前期投入了4000万美金

Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。2001年11月,IBM

宣布将其捐给开放源码组织。目前Eclipse的市场占有率已经超过了Borland

公司的JBuilder,成为Java开发平台中的主流。

Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都

以插件的形式附加到该核心上。

Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,在此之

前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING其界

面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这

方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。

二、Eclipse平台体系结构

Eclipse 平台是一个具有一组强大服务的框架,这些服务支持插件,比如Java开发环

境插件(JDT)、插件开发环境(PDE)和其他的第三方插件(New tool)。它由几个主要

的部分构成:平台运行库、工作区、工作台、团队支持和帮助。

平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信

息。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,

其他每样东西都是作为插件来实现的。

工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的文件,以

及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、

删除或更改。

工作台为 Eclipse 提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的

API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace

则建立在 SWT 基础上,提供用户界面组件。SWT 已被证明是 Eclipse 最具争议的部分。

SWT 比 Swing 或 SWT 更紧密地映射到底层操作系统的本机图形功能,这不仅使得

SWT 更快速,而且使得 Java 程序具有更像本机应用程序的外观和感觉。使用这个新的

GUI API 可能会限制 Eclipse 工作台的可移植性,不过针对大多数流行操作系统的 SWT

移植版本已经可用。Eclipse 对 SWT 的使用只会影响 Eclipse 自身的可移植性——使用

Eclipse 构建的任何Java 应用程序都不会受到影响,除非它们使用 SWT 而不是使用

Swing/AWT。

团队支持组件负责提供版本控制和配置管理支持。它根据需要添加视图,以允许用户

与所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件

交互,除非它们提供版本控制服务。

帮助组件具有与 Eclipse 平台本身相当的可扩展能力。与插件向 Eclipse 添加功能相

同,帮助提供一个附加的导航结构,允许工具以 HTML 文件的形式添加文档。

三、Eclipse中CVS的使用

CVS(Concurrent Versions System,并发版本系统),是当前最主流的版本控制系统,

目前绝大部分开源项目都使用它来做版本管理。

CVS起源于UNIX/Linux平台,在Windows平台的版本是cvsnt。我使用了最新版

本cvsnt-2.5。我只做了一个简单的练习,感觉其版本管理功能非常不错,有利于工程化的

软件开发,特别是在团队开发的情况下,其将发挥很大作用。

四、SWT/JFace学习

SWT(Standard Widget Toolkit)和JFace 库来开发用于Eclipse环境的图形用户

界面,也可以将它们用于开发单独的 GUI 本机应用程序。

下面介绍几个SWT重要术语:

Widget —— 基本的 SWT GUI 组件(类似于 Java AWT 中的 Component 和

Swing 中的JComponent)。Widget 是一个抽象类。

Control ——拥有操作系统的对等物的窗口小部件(换句话说,在操作系统中具有同

一身份)。Control 是一个抽象类。

Composite ——包含其他控件的控件(类似于 Java AWT 中的 Container 和

Swing 中的JPanel)。

Item ——其他控件包含的窗口小部件(该控件可能不是复合控件),比如列表和表。

注意,包含一些项的控件很少包含其他控件,反之亦然。Item 是一个抽象类。 这些窗口

小部件被安排在继承层次结构中。

在上学期高老师面向对象的课中用过AWT/SWING的基础上,学习SWT/JFace则比

较轻松。而且使用Eclipse的SWT Designer插件后,可以图形化很直观地将各个小控件

(Button、Text、Label、list、Tree)直接拖到窗口的容器上,大大提高了应用程序界面

开发效率。由于以后课题主要是B/S模式基于Web的开发,而非C/S模式的胖客户端

Windows应用程序的开发,所以我只是大概了解了下SWT/JFace,重点放在Eclipse的

Web开发上。

五、Eclipse的Web开发

Eclipse目前主流的Web开发环境是Tomcat+Lomboz+Struts+Hibernate,其中

Tomcat充当Web服务器,Lomboz是J2EE开发的工具,Struts提供MVS框架支持,

Hibernate替代笨重的EJB来充当数据库的持久层(以上所有的工具和软件包功能强大而

且全部免费,都可以在网上下载到)。

尽管我目前尚不熟悉以上各软件工具,但是在以后的课题中,我倾向于使用该开发环

境,学起来应该也比较快。

但是,目前的现实情况是,尽管有一定的的开发经验,由于目前我对JSP、

J2EE、EJB尚未熟悉,所以我想在之后半个月中集中精力熟悉JSP、J2EE、EJB,然后在八

月中旬开始则主要看本体的相关论文。九月份再来熟悉Eclipse的Web开发。