畅享博客 > 知识管理系统 > Eclipse简介
2007-1-3 15:14:19

Eclipse简介

暑期读书笔记一(Eclipse2006-7-20

一、Eclipse简介

近期主要学习当前Java主流开发平台Eclipse,使用版本为最新发放的版本Eclipse3.2,参考书为《Eclipse 从入门到精通》(目前国内Eclipse书籍相当少,图书馆仅有的几本都被借走了,连预约都困难)。

Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。200111月,IBM宣布将其捐给开放源码组织Eclipse.org。目前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平台体系结构

平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。

工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。

工作台为 Eclipse 提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的APIJFace)来构建的;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 文件的形式添加文档。

三、EclipseCVS的使用

CVS(Concurrent Versions System,并发版本系统),是当前最主流的版本控制系统,目前绝大部分开源项目都使用它来做版本管理。

CVS起源于UNIX/Linux平台,在Windows平台的版本是cvsnt。我使用了最新版本cvsnt-2.5。我只做了一个简单的练习,感觉其版本管理功能非常不错,有利于工程化的软件开发,特别是在团队开发的情况下,其将发挥很大作用。

四、SWT/JFace学习

SWTStandard 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则比较轻松。而且使用EclipseSWT Designer插件后,可以图形化很直观地将各个小控件(ButtonTextLabellistTree)直接拖到窗口的容器上,大大提高了应用程序界面开发效率。由于以后课题主要是B/S模式基于Web的开发,而非C/S模式的胖客户端Windows应用程序的开发,所以我只是大概了解了下SWT/JFace,重点放在EclipseWeb开发上。

五、EclipseWeb开发

Eclipse目前主流的Web开发环境是Tomcat+Lomboz+Struts+Hibernate,其中Tomcat充当Web服务器,LombozJ2EE开发的工具,Struts提供MVS框架支持,Hibernate替代笨重的EJB来充当数据库的持久层(以上所有的工具和软件包功能强大而且全部免费,都可以在网上下载到)。

尽管我目前尚不熟悉以上各软件工具,但是在以后的课题中,我倾向于使用该开发环境,学起来应该也比较快。

但是,目前的现实情况是,尽管有一定的ASP.NET的开发经验,由于目前我对JSPJ2EEEJB尚未熟悉,所以我想在之后半个月中集中精力熟悉JSPJ2EEEJB,然后在八月中旬开始则主要看本体的相关论文。九月份再来熟悉EclipseWeb开发。


推荐到鲜果:

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)