Eclipse实践(2)

类别:Java 点击:0 评论:0 推荐:
1.2.1    Eclipse结构

除了平台的运行内核外,Eclipse还包括工作台、工作区、帮助和团队协作组件,对于基本框架来说,还可以使用其它的插件工具来创建应用程序(参见图1.1)。

 

运行平台

平台的主要工作就是发现在Eclipse插件目录中哪些插件是可用的。每一个插件都有一个XML装载文件列出了插件的接口。它包括了提供给其它插件的扩展点,以及需要其它插件提供哪些扩展点。由于插件的数量可能非常大,插件只有在被使用时才被加载,以节省启动时间和资源。本书的第二部分将集中介绍插件的架构、插件之间如何工作以及如何利用PDE进行插件开发。

图表 1

 

工作间

工作间负责管理使用者的资源,它在顶层被组织成一个或多个项目。每一个项目都是Eclipse工作间目录的子目录,每个项目都可以包含多个文件和文件夹。一般来说每个文件夹都可以看做项目的子文件夹,但是一个文件夹可以连接到文件系统的任何一个目录。

工作间保存了每个资源的部分变化历史,这就使得迅速撤销变化成为可能,同样也可以恢复到先前的保存状态,甚至是几天前的历史数据,这主要取决于用户在历史设置上的配置情况。工作间的这个功能可以将资源丢失的风险降低到最小限度。

工作间还负责管理一个提醒工具,它用来提醒有关工作间资源的变化情况。这个工具还可以为项目标记项目特征,如果是一个java项目,它可以提供代码以配置项目必要的资源。

 

工作台

工作台是一个图形化的用户界面,除了用户熟悉的菜单和工具栏之外,还包括透视图和编辑器。这些将在第二章进行讨论。

Eclipse工作台值得注意的一点是,它看起来不象一个Java的应用程序,更象一个本机的应用程序。这主要是因为它是通过Eclipse的SWT和Jface来创建的,用户接口工具箱是建立在SWT之上的。SWT并不象其它标准Java 图形API(AWT和Swing)一样模拟本机的图形工具箱,它是直接调用操作系统本机的图形。

因为SWT必须首先被移植到Eclipse的每个操作平台,所以SWT也是Eclipse最具有争议的方面之一。因为SWT已经能够适应最流行的平台(包括Windows、Linux/Motif、Linux/GTK2、Solaris、QNX、AIX、HP-UX以及苹果操作系统),所以这已经不再是一个严重的问题。

使用SWT和Jface来创建我们自己本地的Java应用程序是完全可能的。有关SWT的编程介绍将在本书的附录D中,Jface的简述在附录E中可以查询的到。需要注意的是Eclipse虽然使用SWT/Jface,但并不是强迫你去使用它进行Java应用程序的编写,你完全可以采用继续使用AWT/Swing,除非你正在写Eclipse的插件。

 

团队协作

团队协作支持插件改进了版本控制(或者是配置管理)系统的使用,它来管理用户项目的资源,定义在资源库中保存和检索的必要流程。Eclipse平台包含了一个CVS的客户端。CVS将在第6章中进行介绍。

 

HELP

       象Eclipse平台本身一样,帮助组件也是一个可扩展文档编制系统。工具提供者可以以HTML格式、使用XML、定义一个导航来添加文件。如果和其它插件有关联,还可以将帮助主题,插入到先前的帮助主题树中。

1.2.2    中性的语言和平台

虽然Eclipse是用Java写成的,并且被广泛的应用在Java编译器中,但它还是语言中立者。Java开发需要一些插件的支持,就如上面所说,Eclipse如果使用其它语言,还有其他一些可用插件,比如C/C++,Cobol,和C#。

Eclipse也是人类语言的中立者。由于采用了相同的插件机制,使得如果你增加不同的语言变得非常容易。它使用了一种特殊的插件类型,叫做插件碎片。IBM还提供了包括中文(繁体和简体),法语,德语,意大利语,日语,韩语,葡萄牙语和西班牙语在内的语言包支持。你可以从Eclipse的官方网站的下载中获取语言包。

虽然Eclipse用Java语言编写,原则上来说它可以运行在任何平台上,但是Eclipse并不是严格意义上的平台中立者。这主要是因为Eclipse决定使用操作系统本身的图形,因此Eclipse只能运行在已经安装了SWT的平台之上(上面已经提到过)。

如果你的系统不在上述平台范围之内,那么你也不必过于担心。因为Eclipse是一个开源项目,源代码是共享的,而且有些人已经将其移植到其它平台上面了。你也可以通过Eclipse新闻组寻找解决的办法,也许,它会成为Eclipse官方正式版的一部分。如果实在没有办法,如果你有足够的雄心,也许你可以自己进行Eclipse的移植工作。

1.3           展望

Eclipse最经常被提及的特征之一是GUI构造器-一个建立用户界面的图形工具。对于这样一个具有高认知度的特征不太可能和其它特征一样变成官方免费Eclipse的一部分,由于这些原因,Eclipse.org协会必须平衡经济利益和开源社区期望的关系。

可能存在以下几种方式:商业运作,就象IBM的Websphere,按照价格提供以Eclipse为基础的部分Eclipse开发套件;免费或者廉价的商业插件,比如J2EE插件Lomboz以及Sysdeo Tomcat插件(在第七章中提及);开源项目。

Eclipse的下一个版本预计在2004年初发布,现在已经在开发中。有以下几个改进:

n         使其成为一个通用的应用框架

n         Java相关语言的支持比如JSP,并且提供更好的插件装载文件和J2EE描述符

n         支持J2SE1.5,J2SE1.5预计包括泛型和枚举的支持

n         Java对象的逻辑视图

Eclipse网站是有关Eclipse信息的最好来源。如果你对新功能以及已经存在的功能感兴趣,可以访问Eclipse新闻组。你可以加入到Eclipse社区,寻找新的插件,你也可以报告错误或者提出更好的功能需求。

1.4           摘要

如果你现在正在寻找一个强大而又免费的Java IDE,除了Eclipse你可以不必再找了。Eclipse SDK你可以从Eclipse的网站上下载,包括一个有着丰富功能的IDE,以及Java开发工具箱(JDT)。第2-7章将介绍JDT的使用。Eclipse绝对不仅仅是一个Java IDE。它是是一个可扩展、开源的开发工具平台。例如它可以作为其它语言,比如C/C++、Cobol、C#的IDE使用。

可扩展性是Eclipse一个比较独特的功能,基本上Eclipse除了一个非常小的运行内核,只是一个插件的架构,所有的东西Eclipse插件的方式实现。由于Eclipse特殊方式,使得插件新的功能可以和已有功能无缝结合。

除了JDT之外,Eclipse还包括一个插件开发环境(PDE)。PDE是Eclipse的插件开发非常容易。本书的第二部分的8、9章将介绍PDE的使用,以及向你介绍如何为Eclipse增加新的功能。

虽然Eclipse是开源的,但是它为一个协会管理和指导。这个协会由一些软件开发公司构成,他们共同促进Eclipse成为一个共享的软件开发工具。Eclipse采用CPL(Common Public License)许可协议(目前正在申请EPL,Eclipse Pulic Lisence),它和其它的开源协议不同,它不允许将Eclipse整合到其它的开源项目中去。通过建立和培养以Eclipse为基础的开源社区,IBM和协会中其它的公司期望结果是互利的,而不是冲突,希望以Eclipse为基础或者扩充于Eclipse的免费或者商业软件能够开辟一个崭新的大市场。

       不管你是否使用Eclipse作为开发平台开发你自己的软件或者以其为基础创建免费或者商业的工具,你都会发现它会给你带来更多。你可以在后面章节中研究Eclipse的其它功能,我们通过开发过程指导你高效的使用Eclipse,通过这种方式,我们给您指出许多让你成为一个具有更高生产率的Java开发者的方法。

                                      译者:姜海龙 (转载,请注明)

本文地址:http://com.8s8s.com/it/it16036.htm