LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1608|回复: 7

Eclipse In action 译稿发布------ 第一章 概述

[复制链接]
发表于 2005-2-7 11:50:53 | 显示全部楼层 |阅读模式
现在已经校对了一遍,而且 我的合作者(最初翻译这本书的)addone也帮我修正了一些错误。算是正式发表了。

错误再所难免,希望大家帮忙指正。谢谢

http://zhudingshibai.blogchina.c ... _124194.617026.html
发表于 2005-2-8 16:29:35 | 显示全部楼层
好!
等待其他章节!
回复 支持 反对

使用道具 举报

发表于 2005-3-1 09:31:56 | 显示全部楼层
发错地方了。
自己把它删除了。
回复 支持 反对

使用道具 举报

发表于 2005-3-1 11:04:39 | 显示全部楼层
好的
继续加油啊!
回复 支持 反对

使用道具 举报

发表于 2005-3-1 12:51:33 | 显示全部楼层
http://zhudingshibai.blogchina.c ... _124194.617026.html

Eclipse In Action 第一章(翻译完毕)  
  本章简介:
Eclipse历史摘要
Eclipse.org协会
Eclipse及其设计概述
未来展望

2005-1-9 发表(1-3 翻译)
2005-1-15 19:37 添加
2005-1-16 02:30 添加
2005-1-16 20:34 添加
2005-1-18 21:00 结束

总算完成了,虽然只有短短11页,也是自己的一份成果----我的第一份翻译文档。以后继续加油!!!!!!!!!!!!
欢迎指正不妥之处。谢谢!

--------------------------------------------------------------------------------

现在已经校对了一遍,而且 我的合作者(最初翻译这本书的)addone也帮我修正了一些错误。算是正式发表了。

错误再所难免,希望大家帮忙指正。谢谢

目录

第一部分 使用Eclipse

         第一章  概述
         第二章  从Eclipse工作台开始
         第三章  Java开发周期----测试、编码、重复
         第四章  在Eclipse中与源代码一起工作
         第五章  使用Ant构建
         第六章  使用CVS管理源
         第七章  Web开发工具
第二部分 扩展Eclipse
         第八章  介绍Eclipse插件
         第九章  在Eclipse中于插件一起工作   
附录
         附录A   Java透视图菜单参考
         附录B   CVS配置步骤
         附录C   插件扩展点
         附录D   介绍SWT
         附录E   介绍JFace

第一部分 使用Eclipse
第一章 概述


本章简介:
        Eclipse简史
        Eclipse.org协会
        Eclipse及其设计概述
        未来展望


很多铁匠乐于打造自己的工具。当刚入行、或者接到有特殊需求的活的时候,第一步就是制做新工具。铁匠使用熔炉、铁砧和铁锤不断重复地加热、敲打直到钢铁达到精确的形状、大小、强度时冷却。

跟铁匠内在的力量与激情相比,软件开发就像它的一个完全抽象的过程。但是代码和金属(至少在高温下的金属)在可锻造性上是相同的∶只要有足够的技巧和努力,你就能将代码或者钢铁打造成为一个磨工精细的工具或者一个宏伟的建筑奇迹。

Eclipse是软件开发者的作坊,首先配备熔炉、铁砧和铁锤。就像铁匠,利用现成的工具----可能一把钳子----制造新工具,你可以使用Eclipse制造新工具----扩展Eclipse功能的工具----去开发软件。Eclipse的一个显著特性就是它的可扩展性。

但别因为这种DIY思想分心,你不需要使用Eclipse的全部特质去开发自己的工具。你甚至可能完全不需要新工具;Eclipse拥有全部的Java开发环境特性,包括代码级的调试器。另外,因为Eclipse的流行以及它开源的本质,很多专门的工具(用Eclipse开发给Eclipse)已经可以随意使用了(其中一些会在本书介绍给你),还有很多正在开发。


1.1 Eclipse从哪儿来??
没人相信像Eclipse这样拥有全部特性及成熟的软件开发环境会突然出现。但是这正是在2001年十一月Eclipse1.0版本发布的时候发生的事情。自然地,对Eclipse的入门需求以及缺乏的特性有很多吹毛求疵的意见。自emacs的诞生之日起,开发者之间的两个流行的运动之一就是争论哪个开发环境是最好的(另一个是争论哪个操作系统是最好的)。出人意料地,这时却只有很少的好事者。大家都觉得Eclipse还不错,但是还不太完美;版本1.0的结果是什么呢?

一些公司因为直到3.0版本才能做对事情而出名(尽管那样,你也最好谨慎地等待3.1,因为严重bug的出现)。但是尽管Eclipse1.0缺乏某些功能而且不能完全符合一些人的工作习惯,很显然Eclipse是做对了事情。最好的是,它是一个拥有很多资源的自由的、开源项目。很明显Eclipse的开发者听取了用户的意见--甚至开发者们自己正是Eclipse 的最大的用户。当2.1版本在2003年发布的时候,它符合甚至超过了大多数人的最高期望--所以很多人赶紧下载它,在它发布的第一个周得到一份它的拷贝几乎不太可能。


1.1.1 一点背景
当然,Eclipse不是幸运的偶然工程;据说IBM在把它捐给Eclipse.org协会(成员最初包括Borland--宝蓝,IBM--国际商用机器,Merant,QNX Software System,Rational Software,Red Hat--红帽,SuSE, TogrtherSoft,Webgain)作为开源软件之前花了超过4000万美元开发它。从那以后加入的有Hewlett Packard--惠普,Fujitsu--富士,Oracle--甲骨文和Sybase。IBM通过它的子公司Object Techbologies Interndational(OTI----开发Eclipse的人们最初待的地方)继续领导Eclipse的开发。

OTI是一家著名的面向对象开发工具开发商,它的历史可以上溯到1988年,当时唯一可选的面向对象语言是Smalltalk。在IBM的Visual Age产品(它设立了面向对象开发工具的标准)的影响下,1996年的时候OTI被IBM收购。很多由Smalltalk提倡的概念用Java实现,产生了Visual Age for Java(VA4J)这个独特的环境。比如说:它没有文件的概念;版本出现在方法层次。跟其它的Visual Age产品一样,VA4J最初是用Smalltalk写的。

从本质上来说,Eclipse是用Java重写的VA4Java。类似Smalltalk的特性,使得VA4J跟其它Java IDE工具相比看起来很古怪,差不多要死掉的样子。纯粹的面向对象(OO)很让人失望,但是Java的乐于满足实际应用的部分使得它流行起来。就像一种很好的转换,Eclipse遵循新语言的精神,打破了实用、思想之间微妙的差距。


1.1.2 Eclipse组织
Eclipse项目由协会的管理员委员会(包括每个协会成员公司的一名代表)管理,主持。这个委员会制定项目目标、宗旨,在两个主导宗旨之间寻找平衡:培养一个健康的开源社区以及为成员创造商业机会。

-------------------2005-1-3
在运作上,Eclipse项目作为一个整体由对象管理委员会(Project Management Committee--PMC)管理。Eclipse项目被分成三个子项目:

     平台(Platform)
     Java开发工具包(JDT;由Erich Gamma特别指导----他以设计模式、敏捷开发方法论而出名)
     插件开发环境(PDE)
每个子项目再进一步被分成许多部件(components)。比如,平台子项目包括一打部件(如比较--compare,帮助--help,搜索--search);JDT子项目包括三个部件:调试(Debug),用户视图(UI),核心(Core)。PDE子项目包括两个部件:用户视图和核心。

为项目做贡献的并不只是IBM和协会的其他成员。比如,也欢迎其它开源项目、任何个人或者公司参与项目、为项目贡献。


1.1.3 开源软件
众多的商业风险资本关注着开源开发不断扩大的影响力,并在竭力传播对这种趋势的恐惧、犹豫和疑虑。一种特别容易引起误会的观点认为开源协议是天然的病毒----如果吸收开源代码到商业产品,这家公司就会有失去自己代码的正当权利的危险。

按照定义,开放源代码是承认使用者的权利,特别是得到源代码和修改并重新发布的权利。这些被保证的权利正好跟版权保护的用途相对。并不是只为创造者保留这种权利; 除非使用者允许,开源协议禁止发布。版权的这种使用方式有时侯被叫做反版权(copyleft)----所有权利颠倒。

虽然一些开源协议是带有病毒性质的,需要所有跟开源软件捆绑的软件都要在同一协议之下发布,也不是所有的开源协议都这样。许多的协议被设计用来同时支持开源、商业利益,它们明确允许跟开源软件绑定的所有者软件可以处在另一个更加严格的协议之下。

特别的,Eclipse基于像这样的一种协议发布:普通公用协议(CPL)。依照这个协议,它“有意地促进程序的商业化应用”。CPL协议由公开软件主动权(OSI)(原文Open Software Initiative,现在网站上的名字叫做Open Source Initiative开源主动权 ----译注)保证符合作为一个开源协议的要求。如果需要开源协议(包括CPL在内)的信息你可以访问OSI的站点(http://www.opensource.org)。

很多开源拥护者担心商业利益会成为开源运动的目标,具有讽刺意味的是像IBM这样的公司极大地援助了开源项目。无需怀疑,不管怎样开源软件都从像IBM这样的主要公司的支持之中得到承认。这种承认有助于驱散对手的一些缺乏说服力的观点(比如类似于这些软件是业余玩物这样特别主观的攻击观点)。有助于将争论集中于重要的问题,比如性能和安全。

许多项目,包括Mozilla,Apache还有现在的Eclipse,都证明了商业、自由软件都可以受益于开源。其中最重要的一个原因就是,一个成功的开源项目为所有人创造价值。

就Eclipse而言,还有其他的更确切的原因:Eclipse创造了一个完整的新市场。把Eclipse构建成设计良好的、开放的、可扩展的框架就像建造了一个城镇市场。大小商贩和买家都会在交易日被吸引在一起。


1.2 Eclipse是什么
---------------------2005-1-15 19:37
在前面,我们曾经通过隐喻的方式提到Eclipse,拿它跟铁匠的作坊相比,在那儿你不仅可以制造产品,也可以为制造产品而制造工具。实际上,这或许是一个等价的比喻。当你下载了Eclipse SDK的时候,你得到一个Java开发工具(JDT)来编写、测试Java程序以及插件开发环境(PDE)来扩展Eclipse。如果你只需要一个Java IDE,除了JDT你不需要别的任何东西;忽略PDE,你仍然可以很好地工作。这就是大多数人使用Eclipse的原因,这本书的第一部分也全部集中于将Eclipse当作一个Java IDE来使用。

然而,JDT是Eclipse的一项附加物。在大多数基本层面,Eclipse是Eclipse框架(Eclipse Platform)。Eclipse框架的目的是提供整合软件开发工具----通过Eclipse插件来实现----所必需的服务。这个框架被像JDT这样的插件扩展,这非常有用。Eclipse设计的优秀之处就在于此,除了一个很小的可运行内核之外,所有的东西都是插件或者一组相关的插件。所以,把Eclipse SDK看成铁匠的作坊,Eclipse平台以只有电、水和瓦斯管道的空作坊为基础。如果你宁愿做一个陶工而不是铁匠,可以安装一个烧窑和一个陶工的转盘,抓起一些粘土,开始摔制容器。如果你只想用Eclipse进行C/C++开发,可以用C开发工具(CDT)替代JDT。

插件设计使得Eclipse可扩展。更重要的是,不管怎样,这个平台都提供了一个良好定义的方式使插件们共同工作(通过扩展点和捐赠的手段),所以新功能可以既容易又无缝地添加。当你使用Eclipse完成不同的任务的时候,通常不太可能去判断一个插件在哪儿结束而另一个插件又从哪儿开始。


1.2.1 Eclipse体系结构
除了一个小的平台运行核心之外,Eclipse由工作台(Workbench)、工作区(workspace)、帮助(help)以及团队部件(team components)组成。其他的工具插入这个基本系统以形成一个可用的程序。 (图1.1)


平台运行时(The Platform Runtime)

平台运行时的主要工作是寻找Eclipse插件目录中可以使用的插件。每个插件有一个XML清单文件列出了这个插件需要的环境。包括它提供给其他插件的扩展点以及它需要的来自其他插件的扩展点。因为插件可能很大,直到确实需要的时候才会载入它,以最小化启动时间和资源需求。这本书的第二部分集中于插件的体系结构,关于他们如何工作的其他细节,以及怎样使用PDE开发他们。

工作区(workspace)

工作区负责管理用户的资源,在上层将他们组织到一个或多个项目。每个项目与Eclipse工作区目录下的一个子目录相对应。每个项目可以包含文件、文件夹,通常每个文件夹跟项目目录下的子目录相对应,但一个文件夹也可以被连接到文件系统任何地方的一个目录。

工作区在底层上维护每项资源的变更历史。这使得变更能够立刻被撤消,恢复先前保存的状态----甚至几天之前,这依赖于历史设置的用户配置。这个历史同样地也减少了资源损失的风险。

工作区同样负责将工作区资源的改变通知给想知道的工具。工具有能力使用项目性质(project nature)标记项目----例如,一个Java项目----可以提供必要的规则以配置项目的资源。

--------------2005-1-16 02:30住定是败------------
工作台(workbench)

工作台是Eclipse的图形用户界面。除显示常见的菜单、工具栏之外,它还被组织到透视图(perspective----包括视图(view)、编辑器)之内。这些将在第二章介绍。

工作台的一个显著特性是,不像其他的大多数Java程序,它的视感很像一个本地程序。这是因为它是用Eclipse的标准器件工具包(Standard Widget Toolkit---SWT)以及JFace(一个建造在SWT顶层的用户界面工具包)构建的。不像模仿本地图形包的标准的Java图形API(AWT、 Swing),SWT直接使用操作系统的本地图形体系绘制。

SWT是Eclipse很多有争议的方面之一,因为SWT必须被移植到每一个Eclipse支持的平台。实质上,这并没什么大不了的,因为SWT已经被移植到了大部分流行的平台(包括Windows,Linux/Motif,Linux/GTK2,Solaris,QNX,AIX,HP-UX以及Mac OS X)。

你可以使用SWT、JFace创造自己的本地观感Java程序。你可以在本书的附录D找到对SWT编程的介绍,附录E有JFace的简单摘要。注意,Eclipse使用了SWT/JFace并不表示你也必须在自己的程序中使用他们;如果你不是在写一个Eclipse的插件,你可以跟平常一样继续使用AWT/Swing编程。

团队支持

团队支持插件使得在用户的项目中使用版本控制系统(或者结构管理系统)管理资源变得容易,它定义了保存、从仓库恢复的基本工作流程。Eclipse平台包括了一个并行版本系统(CVS)的客户端。介绍CVS是第六章的任务。

帮助

跟Eclipse平台本身一样,帮助部件是一个可扩展的文档系统。工具提供者可以添加HTML格式的文档,或者使用XML定义一个导航器结构。摹仿插件跟其他插件联系的方法,工具文档可以将标题插入一个已经存在的标题树。


1.2.2 语言和平台中立
尽管Eclipse是用Java编写的并作为一个Java IDE而被广泛使用,但它是语言中立的。对Java开发的支持是作为一个插件提供的,像在前面提到的,可以得到其他语言(比如C/C++,Cobol以及C#)的附加插件。

Eclipse对于人类语言也是中立的。使你可以容易地添加功能的这个的插件结构也可以让你使用一种叫做插件片段(plug-in fragment)的特殊类型的插件添加不同的语言。IBM已经捐献了一个支持中文(包括繁体中文、简体中文)、法语、德语、意大利语、日语、韩语、葡萄牙语(巴西)以及西班牙语的语言包。你可以在http://www.eclipse.org的Eclipse ... 这个语言包。

尽管是使用从道理上讲允许程序运行在任何平台的Java编写的,严格来说Eclipse并不是平台中立的。这是由于需要使用操作系统的本地图形体系来构建Eclipse。因此Eclipse只能在SWT支持的平台上(前面有完整的列表)使用。

即使你的平台没有在正式支持的列表中,情况也并不像看起来那么极端。因为Eclipse是一个开源项目,源代码可以获得,其他人已经把Eclipse移植到了额外的平台;你可以在Eclipse新闻组通过搜索找到这样的移植。有时侯,这些移植被捐献回Eclipse并成为正式Eclipse构建的一部分。最后的手段,如果你有足够的野心,或许你也可以自己移植Eclipse。


1.3 未来展望
--------------------2005-1-16 20:34住定是败----------------------
Eclipse的一个经常被要求的特性是GUI编辑器----建造用户界面的可视化工具。各种各样有很高的理解价值的特性(比如J2EE和数据建模能力)成为正式的、自由的Eclipse版本的一部分看起来并不是不可能的,很大程度上是由于Eclipse.org协会必须权衡来自开源社区的要求的商业风险 。

这样的需求可以通过以下几种方式得到满足:商品化提供,比如IBM的Websphere Studio程序开发工具----(付出了代价)提供这些特性作为基于Eclipse的综合开发套件的一部分;免费或者低价位的插件,比如面向J2EE的Lomboz和Sysdeo Tomcat插件(将要在第七章涉及);以及开源项目。

现在正在为Eclipse下个版本做规划(2004年的某一天交付)。一些受到重视的意见包括:

1、将Eclipse平台扩展为一个通用的应用程序标准。现在已经可以以这种方式使用Eclipse平台,但是需要做很多努力,因为它是为构建IDE所设计的。

2、添加对Java相关的语言(比如JSP)的支持,使插件清单文件跟J2EE描述符能够更好地整合。

3、支持J2SE1.5,它有望包含(作为它的一部分)通用类型和枚举。

4、合乎逻辑的Java项目视图,比如将HashMaps作为键值对表格显示。

Eclipse网络站点是关于Eclipse附属信息的最佳来源。如果你对讨论添加新特性感兴趣或者想学习更多现有的特性,访问一下新闻组(newsgroups)页面学一下怎样加入新闻组。访问社区(community)页面找新插件。你也可以使用BUG页面报告BUG或者请求特殊的特性。


1.4 总结
如果你在找一个好的,自由的Java集成开发环境,你没有必要注意Eclipse之外的了。Eclipse软件开发工具包(SDK),你可以从Eclipse站点免费下载,包括一个功能丰富的Java IDE----Java 开发工具包(JDT)。这本书的第一部分(第二到七章)介绍了Eclipse JDT的使用。

Eclipse不仅仅是个Java IDE,事实上,还可以比这更少(或者,根据你的观点,远多于此)。它是一个可扩展的、面向编程工具的开源框架。例如: IDE对于其他语言(比如C/C++、Cobol和c#)也是可用的。

Eclipse有别于其他类似产品的特性是它的可扩展性。从根本上讲,Eclipse只是一个面向插件的框架;除了一个小的运行时内核,在Eclipse中的所有事物都作为插件实现。因为平台定义了插件互相交互的方式,新特性跟已有的特性可以无缝整合。

除了JDT之外,Eclipse SDK还包括一个插件开发环境(PDE)。PDE使得为Eclipse开发插件变得容易。这本书的第二部分(第八到第九章)覆盖了PDE的使用并展示了如何给Eclipse构建一个添加了新的具有日志功能的工具。

尽管Eclipse是一个开源项目,它被一群怀着商业兴趣促进Eclipse作为软件开发工具的一个公共平台的软件开发公司组成的协会管理、支配。Eclipse已经得到了普通公开协议(CPL)的认可,不像其他开源协议----它不是病毒性的----是这样的,它不要求纳入了Eclipse技术的软件必须也得到一个开源协议的许可。通过建立并维护一个基于Eclipse的开源社区,IBM以及协会的其他公司希望可以达到这样的效果----形成一个基于(或扩展)Eclipse的免费的或商业的软件共存而不是冲突的新市场的。

不论你使用Eclipse作为一个开发平台开发你自己的软件还是作为构建自由或商业工具的基础,你会发现它提供了很多东西。你在接下来的章节中可以探究它的许多特性,我们指导你在开发过程中高效地使用Eclipse。遵循这种方式,我们将指出许多可以帮助你成为一个卓有成效的Java开发者的方法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 16:31:06 | 显示全部楼层
第二章已经翻译结束,正在校对,各位有缘看到这个帖子的有空的话帮忙看一下。
我的Blog主页上也可以看到进展情况。

http://zhudingshibai.blogchina.c ... _124194.786168.html
回复 支持 反对

使用道具 举报

发表于 2005-4-11 11:38:52 | 显示全部楼层
顶,不错,不过菜单项还是不用翻译的好点,翻译了反而不好找。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-11 17:15:46 | 显示全部楼层
呵呵,   中文图片还没有弄,暂时是用英文的替代的.     
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表