Eclipse插件开发(原书第3版)(开发Eclipse商业插件的应用指南)
基本信息
- 作者: (美)Eric Clayberg Dan Rubel [作译者介绍]
- 译者: 陈沛
- 丛书名: 开发人员专业技术丛书
- 出版社:机械工业出版社
- ISBN:9787111303367
- 上架时间:2010-6-17
- 出版日期:2010 年5月
- 开本:16开
- 页码:551
- 版次:3-1
- 所属分类:
计算机 > 软件与程序设计 > JAVA(J#) > Eclipse
编辑推荐
一本由两位长期从事Java商业软件开发的技术专家编写的关于开发Eclipse商业插件的指南
既包含了开发Eclipse插件的基础理论,也涵盖了大量关于Eclipse插件开发的细节
推荐阅读
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
Eric Clayberg是Instantiations公司产品开发部高级副总裁。Eric是一位具有丰富经验的软件技术专家、产品开发人员、企业家和具有超过17年商业软件开发经验的项目经理。这17年开发经验包含了12年的Java开发经验和9年的Eclipse开发经验。他是十几个商业Java和Smalltalk附加产品的主要作者和架构者,其中包括了广为流行的WindowBuilder Pro、CodePro和获奖的VA Assist产品系列。他拥有麻省理工学院的理学学士学位、哈佛大学的MBA学位。是两家成功的软件公司ObjectShare和Instantiations的共同创始人.. << 查看详细
目录回到顶部↑
读者赞誉
译者序
序言一
序言二
前 言
第1章 使用eclipse工具 1
1.1 起步 1
1.1.1 获取eclipse 1
1.1.2 安装 2
1.2 eclipse工作台 2
1.2.1 透视图、视图和编辑器 4
1.2.2 操作 7
1.3 设置eclipse 9
1.3.1 工作台首选项 9
1.3.2 java首选项 10
1.3.3 导入与导出首选项 11
1.4 创建项目 11
1.4.1 使用新建java项目向导 12
1.4.2 .classpath和.project文件 13
1.4.3 使用java包向导 14
译者序
序言一
序言二
前 言
第1章 使用eclipse工具 1
1.1 起步 1
1.1.1 获取eclipse 1
1.1.2 安装 2
1.2 eclipse工作台 2
1.2.1 透视图、视图和编辑器 4
1.2.2 操作 7
1.3 设置eclipse 9
1.3.1 工作台首选项 9
1.3.2 java首选项 10
1.3.3 导入与导出首选项 11
1.4 创建项目 11
1.4.1 使用新建java项目向导 12
1.4.2 .classpath和.project文件 13
1.4.3 使用java包向导 14
译者序回到顶部↑
Eclipse是一个开源的可扩展开发平台。它是一个用于构建、部署和管理软件生命周期的运行时的平台和应用程序框架。现今,有越来越多的软件开发人员选择使用Eclipse,不仅仅是因为它的开源特性,更重要的在于它的可扩展性。
我们可以通过向Eclipse添加插件从而扩展它的功能。现在,有大量的插件几乎可以让Eclipse完成你所能想到的任何软件开发任务。因此,为Eclipse开发良好的插件就显得十分重要。
本书的两位作者有十几年的商业软件开发经验,对于如何开发结构良好、质量可靠的Eclipse插件有着十分丰富的实践经验。因此,通过阅读本书,读者可以获取关于开发Eclipse商业级质量插件的、经过实践检验的相关知识。
本书首先对Eclipse结构进行了介绍,然后通过创建并不断完善一个名为收藏夹的示例插件,阐述了开发Eclipse插件的全方位的内容。本书的结尾是关于Eclipse插件开发的一些高级话题,并列举了一些在Eclipse社区有良好口碑的商业插件。
本书英文第3版是基于Eclipse 3.4的,而翻译本书时Eclipse的最新版本为Eclipse 3.5 Galileo。因此,在使用Eclipse 3.5开发或运行本书中的示例时,可能会存在一些区别。
参加本书翻译的人员有:陈沛、袁芳、伍汉和、韩璐、强永刚、许飞、李婧、刘依承、贺娟娟、陈服兵、郭爱华。
最后,虽然译者尽了最大努力想要完成好本书的翻译,试图做到准确、符合中文语言习惯,但由于译者水平有限,译文肯定存在一些不足之处。如果您发现了不足之处并能通过邮件向译者指出,译者将不胜感激!邮箱地址为andyflying2007@gmail.com。
陈 沛
2010年3月
我们可以通过向Eclipse添加插件从而扩展它的功能。现在,有大量的插件几乎可以让Eclipse完成你所能想到的任何软件开发任务。因此,为Eclipse开发良好的插件就显得十分重要。
本书的两位作者有十几年的商业软件开发经验,对于如何开发结构良好、质量可靠的Eclipse插件有着十分丰富的实践经验。因此,通过阅读本书,读者可以获取关于开发Eclipse商业级质量插件的、经过实践检验的相关知识。
本书首先对Eclipse结构进行了介绍,然后通过创建并不断完善一个名为收藏夹的示例插件,阐述了开发Eclipse插件的全方位的内容。本书的结尾是关于Eclipse插件开发的一些高级话题,并列举了一些在Eclipse社区有良好口碑的商业插件。
本书英文第3版是基于Eclipse 3.4的,而翻译本书时Eclipse的最新版本为Eclipse 3.5 Galileo。因此,在使用Eclipse 3.5开发或运行本书中的示例时,可能会存在一些区别。
参加本书翻译的人员有:陈沛、袁芳、伍汉和、韩璐、强永刚、许飞、李婧、刘依承、贺娟娟、陈服兵、郭爱华。
最后,虽然译者尽了最大努力想要完成好本书的翻译,试图做到准确、符合中文语言习惯,但由于译者水平有限,译文肯定存在一些不足之处。如果您发现了不足之处并能通过邮件向译者指出,译者将不胜感激!邮箱地址为andyflying2007@gmail.com。
陈 沛
2010年3月
前言回到顶部↑
1999年末,当Eclipse初次出现在我们面前时,我们被IBM想要解决的问题的重要性触动了。IBM打算将其所有开发环境整合于一个单一代码库之上。当时,IBM正在使用一种技术融合,它融合了C/C++、Java和Smalltalk。
许多最重要的IBM开发工具,实际上均采用Smalltalk语言编写。Smalltalk是一种适用于创建复杂开发工具的编程语言,但它在与诸如Java之类的语言的竞争中,很快便丧失了一部分市场份额。IBM拥有世界上最多的Smalltalk开发者,然而,在IBM外部,Smalltalk并没有获得广泛的行业支持。同时,也几乎没有能够开发基于Smalltalk的各种附加软件的合格独立软件厂商(Independent Software Vendor,ISV)。
同时,Java也提供丰富的应用程序编程接口(Application Programming Interface,API)来用于开发最新的基于Web的企业应用。更重要的是,Java是一种面向对象(Object-oriented,OO)的语言,这就意味着IBM那些高水平的面向对象开发人员可以重新发挥作用。这些为数众多的开发人员是在多年的基于Smalltalk开发各种工具过程中所培养起来的。实际上,IBM VisualAge Smalltalk和VisualAge Java(VisualAge Smalltalk是VisualAge家族的第一个产品,VisualAge Java也使用了该品牌)开发环境是由杰出的国际对象技术组织(Object Technology International,OTI)所开发的。IBM将该组织的主要目标定位于创建一个基于Java的高可扩展性集成开发环境。Eclipse就这样诞生了。
OTI可以利用其高水平的面向对象的开发经验来开发一个具有无比强大功能、适应性和可扩展性的IDE。该组织可以重复利用众多的功能,在过去的二十年里,这些功能使得那些基于Smalltalk的IDE如此之流行。这些功能的重复利用也将IDE(集成开发环境)开发技能向前推进了一个数量级。
Java世界从未见过如此强大、如此引人注意的Eclipse。但它就这样诞生了,和微软的.NET一道成为世界上最好的开发环境。这也使得Eclipse成为开发者努力扩大其作品使用范围的最好的平台。Eclipse是完全免费和开源的,这一事实也是很令人惊喜。这个只要有计算机就能获取的开放的、可扩展的IDE,为潜在的工具开发者提供了强大的推动力。
Eclipse的这些特性对于我们来说也是如此。在Instantiations和早期的ObjectShare,我们花费了十几年的时间关注于为不同的IDE创建附加工具。在那时,我们已经开始为Digitalk的Smalltalk/V开发附加软件,再转到为IBM的VisualAge Smalltalk,最终为IBM的VisualAge Java(包括曾得奖的VA Assist产品和世界上最早的重构工具之一—jFactor)开发各种工具。但这些插件大多不具有良好的格式,当然,也没有较好的标准化。小范围内的共享(如VisualBasic)和来源广泛的用户自定义库折磨着这些开发环境,也在折磨着我们。
作为IBM的高级商业伙伴,我们幸运地与负责Eclipse开发的IBM公司的众多人员建立了长期的、可信赖的合作关系。这种合作关系意味着我们可以在一种独特的位置审视相应的技术,并几乎在世界上其他人第一次听到Eclipse的一年半之前,我们就已经使用Eclipse进行日常开发。当IBM最终于2001年中向世界发布Eclipse,我们的小组为IBM开发了第一批演示程序中的一部分。在那一年随后的时间里,当IBM发布第一个基于Eclipse的商业开发工具WebSphere Studio Application Developer v4.0(v4.0是为了与其当时的VisualAge for Java v4.0保持一致),我们的CodePro产品也在同一天成为WebSphere(也适用于Eclipse)最早的可获取的商业附加软件。
今天,CodePro产品为Eclipse及基于Eclipse的各种IDE增加了数百项功能。在过去的几年,开发CodePro给我们提供了一个机会来从其他人很少能及的高度来学习开发Eclipse的各种细节(当然除了IBM和OTI的开发者们之外,他们每天都和Eclipse呆在一起)。CodePro也作为许多在这本书中所展示的想法与技术的一个测试温床,这也为我们提供了一个从哪里开始着手撰写本书的独特视角。
本书目标
本书的英文版原标题为《Eclipse: Building Commercial-Quality Plug-ins》,深入描述了为Eclipse和IBM软件开发平台(Software Development Platform,SDP,IBM的商业版本Eclipse开发环境)开发商业级质量标准的扩展组件的过程。对我们而言,商业级质量是商业级标准或高标准的同义词。创建一个商业级质量的扩展组件意味着要比集成到Eclipse最小要求做得更多,也意味着要致力于商业软件产品所需达到的“合适与完善”所要求的细节。
在Eclipse插件世界中,很少有人会花多余的时间,因而绝大部分插件都停留在开源、业余水平。对于那些创建高质量插件感兴趣的人们(这些人就是软件公司打算开发基于Eclipse的产品的主要原因)来说,有许多细节要考虑。本书致力于包含插件开发的整个过程,包括所有为达到高质量所必需的附加步骤。本书有几个互补的目标:
·为新用户提供使用Eclipse的简要介绍
·为有经验的Eclipse用户想要扩展知识与提高基于Eclipse的产品的质量提供参考
·为新用户和有经验的用户提供创建复杂Eclipse插件的详细教程
前三章介绍了Eclipse开发环境,并列出创建简单插件的主要步骤。这些章的主要目的是帮助新的Eclipse开发人员很快能创建插件,并验证他们的各种想法。
第1章向读者介绍了开发插件所必需的Eclipse最小工具集。该章主要是对Eclipse IDE和相关工具(这一主题可以独立成书)进行简要介绍。熟练的Eclipse用户可以跳过该章。
第2章介绍了我们整本书中都将要使用的示例,同时简要介绍从开始创建一个可工作的插件的每一个步骤。第3章从较高的角度对Eclipse的基础结构和插件与扩展点的结构进行了介绍。
第4、第5章包含标准窗口小部件集(Standard Widget Toolkit,SWT)和JFace相关内容。这二者是所有Eclipse用户界面(User Interface,UI)的基石。这两章可作为一个单独的参考;主要为用户继续学习提供足够的细节。所有这些主题的内容对于整本书籍的阅读是足够丰富的。
接下来的章节,是本书的主要内容,主要描述了插件开发的各个方面,为读者如何解决将要面对的挑战提供深入的内容。每一章均从问题的不同角度进行阐述。包括概述、细节描述、面临挑战与解决方法的讨论、图表、屏幕截图、规范编程示例、相关API和总结。
本书通过这样的组织结构,以便于插件项目所必需的最重要的相关知识均能在书的上半部分出现。一些有关于打包与创建的素材则放于上半部分靠后的位置(如功能与产品构建)。这种组织模式留下了几个主题。这些主题并非对每一个插件都同样重要,但对于创建商业级质量插件十分重要。这一部分主题在本书的下半部分。这些主题根据重要程度和与前述几章的相关性进行排列。比如,国际化,它并不是关键性的,如果你真正努力去学习,它也不难。然而,它对于本书的前提是十分重要的。所以我们觉得它应该成为一个我们将要讲述的主题。我们假设读者不是一个Eclipse专家(或者甚至不是一个插件开发者),我们试图带领读者浏览重要步骤的尽可能多的细节。也就是说,从某种程度来看,这一章是介绍性的。这一章也是大部分插件开发者几乎遗忘并具有很少经验的一章。
许多最重要的IBM开发工具,实际上均采用Smalltalk语言编写。Smalltalk是一种适用于创建复杂开发工具的编程语言,但它在与诸如Java之类的语言的竞争中,很快便丧失了一部分市场份额。IBM拥有世界上最多的Smalltalk开发者,然而,在IBM外部,Smalltalk并没有获得广泛的行业支持。同时,也几乎没有能够开发基于Smalltalk的各种附加软件的合格独立软件厂商(Independent Software Vendor,ISV)。
同时,Java也提供丰富的应用程序编程接口(Application Programming Interface,API)来用于开发最新的基于Web的企业应用。更重要的是,Java是一种面向对象(Object-oriented,OO)的语言,这就意味着IBM那些高水平的面向对象开发人员可以重新发挥作用。这些为数众多的开发人员是在多年的基于Smalltalk开发各种工具过程中所培养起来的。实际上,IBM VisualAge Smalltalk和VisualAge Java(VisualAge Smalltalk是VisualAge家族的第一个产品,VisualAge Java也使用了该品牌)开发环境是由杰出的国际对象技术组织(Object Technology International,OTI)所开发的。IBM将该组织的主要目标定位于创建一个基于Java的高可扩展性集成开发环境。Eclipse就这样诞生了。
OTI可以利用其高水平的面向对象的开发经验来开发一个具有无比强大功能、适应性和可扩展性的IDE。该组织可以重复利用众多的功能,在过去的二十年里,这些功能使得那些基于Smalltalk的IDE如此之流行。这些功能的重复利用也将IDE(集成开发环境)开发技能向前推进了一个数量级。
Java世界从未见过如此强大、如此引人注意的Eclipse。但它就这样诞生了,和微软的.NET一道成为世界上最好的开发环境。这也使得Eclipse成为开发者努力扩大其作品使用范围的最好的平台。Eclipse是完全免费和开源的,这一事实也是很令人惊喜。这个只要有计算机就能获取的开放的、可扩展的IDE,为潜在的工具开发者提供了强大的推动力。
Eclipse的这些特性对于我们来说也是如此。在Instantiations和早期的ObjectShare,我们花费了十几年的时间关注于为不同的IDE创建附加工具。在那时,我们已经开始为Digitalk的Smalltalk/V开发附加软件,再转到为IBM的VisualAge Smalltalk,最终为IBM的VisualAge Java(包括曾得奖的VA Assist产品和世界上最早的重构工具之一—jFactor)开发各种工具。但这些插件大多不具有良好的格式,当然,也没有较好的标准化。小范围内的共享(如VisualBasic)和来源广泛的用户自定义库折磨着这些开发环境,也在折磨着我们。
作为IBM的高级商业伙伴,我们幸运地与负责Eclipse开发的IBM公司的众多人员建立了长期的、可信赖的合作关系。这种合作关系意味着我们可以在一种独特的位置审视相应的技术,并几乎在世界上其他人第一次听到Eclipse的一年半之前,我们就已经使用Eclipse进行日常开发。当IBM最终于2001年中向世界发布Eclipse,我们的小组为IBM开发了第一批演示程序中的一部分。在那一年随后的时间里,当IBM发布第一个基于Eclipse的商业开发工具WebSphere Studio Application Developer v4.0(v4.0是为了与其当时的VisualAge for Java v4.0保持一致),我们的CodePro产品也在同一天成为WebSphere(也适用于Eclipse)最早的可获取的商业附加软件。
今天,CodePro产品为Eclipse及基于Eclipse的各种IDE增加了数百项功能。在过去的几年,开发CodePro给我们提供了一个机会来从其他人很少能及的高度来学习开发Eclipse的各种细节(当然除了IBM和OTI的开发者们之外,他们每天都和Eclipse呆在一起)。CodePro也作为许多在这本书中所展示的想法与技术的一个测试温床,这也为我们提供了一个从哪里开始着手撰写本书的独特视角。
本书目标
本书的英文版原标题为《Eclipse: Building Commercial-Quality Plug-ins》,深入描述了为Eclipse和IBM软件开发平台(Software Development Platform,SDP,IBM的商业版本Eclipse开发环境)开发商业级质量标准的扩展组件的过程。对我们而言,商业级质量是商业级标准或高标准的同义词。创建一个商业级质量的扩展组件意味着要比集成到Eclipse最小要求做得更多,也意味着要致力于商业软件产品所需达到的“合适与完善”所要求的细节。
在Eclipse插件世界中,很少有人会花多余的时间,因而绝大部分插件都停留在开源、业余水平。对于那些创建高质量插件感兴趣的人们(这些人就是软件公司打算开发基于Eclipse的产品的主要原因)来说,有许多细节要考虑。本书致力于包含插件开发的整个过程,包括所有为达到高质量所必需的附加步骤。本书有几个互补的目标:
·为新用户提供使用Eclipse的简要介绍
·为有经验的Eclipse用户想要扩展知识与提高基于Eclipse的产品的质量提供参考
·为新用户和有经验的用户提供创建复杂Eclipse插件的详细教程
前三章介绍了Eclipse开发环境,并列出创建简单插件的主要步骤。这些章的主要目的是帮助新的Eclipse开发人员很快能创建插件,并验证他们的各种想法。
第1章向读者介绍了开发插件所必需的Eclipse最小工具集。该章主要是对Eclipse IDE和相关工具(这一主题可以独立成书)进行简要介绍。熟练的Eclipse用户可以跳过该章。
第2章介绍了我们整本书中都将要使用的示例,同时简要介绍从开始创建一个可工作的插件的每一个步骤。第3章从较高的角度对Eclipse的基础结构和插件与扩展点的结构进行了介绍。
第4、第5章包含标准窗口小部件集(Standard Widget Toolkit,SWT)和JFace相关内容。这二者是所有Eclipse用户界面(User Interface,UI)的基石。这两章可作为一个单独的参考;主要为用户继续学习提供足够的细节。所有这些主题的内容对于整本书籍的阅读是足够丰富的。
接下来的章节,是本书的主要内容,主要描述了插件开发的各个方面,为读者如何解决将要面对的挑战提供深入的内容。每一章均从问题的不同角度进行阐述。包括概述、细节描述、面临挑战与解决方法的讨论、图表、屏幕截图、规范编程示例、相关API和总结。
本书通过这样的组织结构,以便于插件项目所必需的最重要的相关知识均能在书的上半部分出现。一些有关于打包与创建的素材则放于上半部分靠后的位置(如功能与产品构建)。这种组织模式留下了几个主题。这些主题并非对每一个插件都同样重要,但对于创建商业级质量插件十分重要。这一部分主题在本书的下半部分。这些主题根据重要程度和与前述几章的相关性进行排列。比如,国际化,它并不是关键性的,如果你真正努力去学习,它也不难。然而,它对于本书的前提是十分重要的。所以我们觉得它应该成为一个我们将要讲述的主题。我们假设读者不是一个Eclipse专家(或者甚至不是一个插件开发者),我们试图带领读者浏览重要步骤的尽可能多的细节。也就是说,从某种程度来看,这一章是介绍性的。这一章也是大部分插件开发者几乎遗忘并具有很少经验的一章。
序言回到顶部↑
序言一
对于全世界数百万的开发人员、工程师和用户来说,Eclipse是一个用于工具集成的可扩展平台。对于全世界数十万利用它来开发插件或完整的工具平台的商业客户来说,Eclipse代表了一种经过验证的、可靠的、可扩展的技术。利用这种技术,人们可以快速设计、开发和部署商业产品。
对于全世界数以千计的学生和研究者来说,Eclipse代表了一个创新、自由和实验的稳定平台。对于所有的这些个人、团队和组织来说,Eclipse是一个用于工具集成的独立于特定厂商的平台。这一平台由一个生机勃勃的Eclipse体系所支持。
独立于特定厂商的Eclipse平台以行业标准为基础。它支持众多的工具、平台和语言。Eclipse技术是无版权费用的,并具有全世界范围内的可重新分发权。该平台是全新建造的,以达到可扩展和提供杰出工具的目标。开发Eclipse基于开源协定。该协定包含开放、透明、基于价值和合作开发等诸多特性。每一个人都能参与其中,并提供添加项。所有的计划都在公开范围内制定。该平台和开源开发组织创建了一个创新、创造性和自由的环境。在当今众多的软件工具环境中,Eclipse是独一无二的。
软件工具行业正在经历从技术商品化到公司合并的巨大转变。新的技术尝试正在重新设计,同时工具基础结构的通用集被不断改进以成为行业标准。成功的开发者和开发模式正面临适应新技术、新的更有效的方法的挑战。旧的商业模式正面临免费软件的挑战,同时,新的商业模式逐渐涌现。
软件工具行业非常感谢Eric Clayberg和Dan Rubel的这本权威书籍。这本书提供了一个知识库。开发人员、工程师和用户均可利用这一知识库来学习和使用Eclipse技术。这样,他们就可以对这些技术和工业变革的原动力做出响应。
Eric和Dan拥有很长的开发软件工具的职业生涯。他们两人均拥有丰富的经验:二十年的Smalltalk开发经验、十三年的Java开发经验和九年的Eclipse开发经验。他们和众多厂商和顾客建立了良好关系,这使得他们可以第一时间使用必要元素以创建成功的软件。他们可以将这种技术的直接经验和用户体验相结合,以写出一本提供创建商业级质量Eclipse扩展项过程的详细描述的书。
本书为新开发者提供了插件开发整个过程的介绍和概述,包括获得高质量效果的所有最佳做法。对于有经验的Eclipse开发人员来说,本书可以作为一本参考书籍。它详细讨论了API,并阐述了众多的示例。同时,本书也为新、老开发人员提供了详细的教程。Eric和Dan添加了他们丰富的用户界面开发经验,也演示了如何使用Eclipse SWT UI。SWT是所有Eclipse UI开发的基石。作者清晰地描述了创建工具软件过程中面临的开发挑战,同时提供了已验证的、深入的解决方案。
如果你是一名开发人员、工程师或想要开发或使用Eclipse的用户,本书提供了基础知识和参考。同时,本书也提供了向开源Eclipse项目提交添加项和开发商业软件的基础知识。
—Skip McGaughey
序言二
在20世纪90年代,Java还处在早期阶段。学习Java库,只要学习四五个包中的一些类文件。今天,Java类库已经变得更大更复杂,给现在想要学习Java的开发人员带来了一个巨大的难题。与Java类似,数年时间里,Eclipse平台也逐渐成长。因此学习Eclipse 3.4需要比学习Eclipse以往版本花费更多的时间和精力。Eclipse平台的一条重要的原则就是:一个插件必须与Eclipse平台和其他插件无缝地集成。为了达到无缝集成,插件开发者必须懂得为Eclipse开发软件的最佳实践、约定和策略。本书包含了创建你为之骄傲的Eclipse插件所需要的各个方面。
在开发Favorites插件过程中,详细讨论了Eclipse标准窗口小部件工具集(SWT,Standard Widget Toolkit)和JFace框架。这样你就可以学会如何创建专业外观的用户界面,如视图、编辑器、首选项页和对话框。除了附加的常用主题之外,还详细讨论了诸如用户界面设计等较难理解的Eclipse主题(比如,创建功能部件和产品商标)。此外,本书还给出了我见过的最好的关于使用Ant的讨论,该讨论涉及从一个目标为多个版本的Eclipse的源代码文件创建产品。
在插件声明清单和实现插件的功能行为所必需的Java代码之间存在一种扩展点机制和重要联系,而刚开始使用Eclipse的Java开发者要理解这些内容有一定难度。本书可作为一张使用由Eclipse平台定义的插件开发环境(PDE,Plug-in Development Environment)和扩展点的路线图。本书还提供了以下内容:开发者应当了解的本应在清单中描述的插件的各个方面,如何使用已有扩展点开发插件,以及如何创建其他开发者可以进一步提交添加项的扩展点。
当我初次接触到CodePro,我被两方面吸引住了:它给Eclipse带来的生产效率和它与Eclipse平台结合的紧密程度。在尝试使用CodePro一段时间后,它就已经成为我开发工具集不可或缺的一部分。通过描述他们在开发CodePro中获取的广泛经验,Eric和Dan完成了一项如此优异的工作。这项工作就是本书中所描述的创建高质量和专业外观的Eclipse产品所必需的插件开发的各个方面。
—Simon Archer
对于全世界数百万的开发人员、工程师和用户来说,Eclipse是一个用于工具集成的可扩展平台。对于全世界数十万利用它来开发插件或完整的工具平台的商业客户来说,Eclipse代表了一种经过验证的、可靠的、可扩展的技术。利用这种技术,人们可以快速设计、开发和部署商业产品。
对于全世界数以千计的学生和研究者来说,Eclipse代表了一个创新、自由和实验的稳定平台。对于所有的这些个人、团队和组织来说,Eclipse是一个用于工具集成的独立于特定厂商的平台。这一平台由一个生机勃勃的Eclipse体系所支持。
独立于特定厂商的Eclipse平台以行业标准为基础。它支持众多的工具、平台和语言。Eclipse技术是无版权费用的,并具有全世界范围内的可重新分发权。该平台是全新建造的,以达到可扩展和提供杰出工具的目标。开发Eclipse基于开源协定。该协定包含开放、透明、基于价值和合作开发等诸多特性。每一个人都能参与其中,并提供添加项。所有的计划都在公开范围内制定。该平台和开源开发组织创建了一个创新、创造性和自由的环境。在当今众多的软件工具环境中,Eclipse是独一无二的。
软件工具行业正在经历从技术商品化到公司合并的巨大转变。新的技术尝试正在重新设计,同时工具基础结构的通用集被不断改进以成为行业标准。成功的开发者和开发模式正面临适应新技术、新的更有效的方法的挑战。旧的商业模式正面临免费软件的挑战,同时,新的商业模式逐渐涌现。
软件工具行业非常感谢Eric Clayberg和Dan Rubel的这本权威书籍。这本书提供了一个知识库。开发人员、工程师和用户均可利用这一知识库来学习和使用Eclipse技术。这样,他们就可以对这些技术和工业变革的原动力做出响应。
Eric和Dan拥有很长的开发软件工具的职业生涯。他们两人均拥有丰富的经验:二十年的Smalltalk开发经验、十三年的Java开发经验和九年的Eclipse开发经验。他们和众多厂商和顾客建立了良好关系,这使得他们可以第一时间使用必要元素以创建成功的软件。他们可以将这种技术的直接经验和用户体验相结合,以写出一本提供创建商业级质量Eclipse扩展项过程的详细描述的书。
本书为新开发者提供了插件开发整个过程的介绍和概述,包括获得高质量效果的所有最佳做法。对于有经验的Eclipse开发人员来说,本书可以作为一本参考书籍。它详细讨论了API,并阐述了众多的示例。同时,本书也为新、老开发人员提供了详细的教程。Eric和Dan添加了他们丰富的用户界面开发经验,也演示了如何使用Eclipse SWT UI。SWT是所有Eclipse UI开发的基石。作者清晰地描述了创建工具软件过程中面临的开发挑战,同时提供了已验证的、深入的解决方案。
如果你是一名开发人员、工程师或想要开发或使用Eclipse的用户,本书提供了基础知识和参考。同时,本书也提供了向开源Eclipse项目提交添加项和开发商业软件的基础知识。
—Skip McGaughey
序言二
在20世纪90年代,Java还处在早期阶段。学习Java库,只要学习四五个包中的一些类文件。今天,Java类库已经变得更大更复杂,给现在想要学习Java的开发人员带来了一个巨大的难题。与Java类似,数年时间里,Eclipse平台也逐渐成长。因此学习Eclipse 3.4需要比学习Eclipse以往版本花费更多的时间和精力。Eclipse平台的一条重要的原则就是:一个插件必须与Eclipse平台和其他插件无缝地集成。为了达到无缝集成,插件开发者必须懂得为Eclipse开发软件的最佳实践、约定和策略。本书包含了创建你为之骄傲的Eclipse插件所需要的各个方面。
在开发Favorites插件过程中,详细讨论了Eclipse标准窗口小部件工具集(SWT,Standard Widget Toolkit)和JFace框架。这样你就可以学会如何创建专业外观的用户界面,如视图、编辑器、首选项页和对话框。除了附加的常用主题之外,还详细讨论了诸如用户界面设计等较难理解的Eclipse主题(比如,创建功能部件和产品商标)。此外,本书还给出了我见过的最好的关于使用Ant的讨论,该讨论涉及从一个目标为多个版本的Eclipse的源代码文件创建产品。
在插件声明清单和实现插件的功能行为所必需的Java代码之间存在一种扩展点机制和重要联系,而刚开始使用Eclipse的Java开发者要理解这些内容有一定难度。本书可作为一张使用由Eclipse平台定义的插件开发环境(PDE,Plug-in Development Environment)和扩展点的路线图。本书还提供了以下内容:开发者应当了解的本应在清单中描述的插件的各个方面,如何使用已有扩展点开发插件,以及如何创建其他开发者可以进一步提交添加项的扩展点。
当我初次接触到CodePro,我被两方面吸引住了:它给Eclipse带来的生产效率和它与Eclipse平台结合的紧密程度。在尝试使用CodePro一段时间后,它就已经成为我开发工具集不可或缺的一部分。通过描述他们在开发CodePro中获取的广泛经验,Eric和Dan完成了一项如此优异的工作。这项工作就是本书中所描述的创建高质量和专业外观的Eclipse产品所必需的插件开发的各个方面。
—Simon Archer
媒体评论回到顶部↑
“我经常被问到,‘有哪些关于Eclipse最好的书?’在我每一次的回答中,第一本都是本书。在我看来,对于全世界的软件开发人员来说,它是Eclipse书籍中最清晰、最切合主题的。其他Eclipse书籍往往关注于Eclipse的内部基础结构或重复Eclipse文档,而该书像激光一样地专注主题,并专注于当你想要创建软件产品所需要考虑的东西。”
—Bjorn Freeman-Benson
Eclipse基金会开源组织负责人
“这本大部头的书试图成为开发Eclipse插件的最佳实践指南。在我看来,在这一方面,它做得很成功。在你想要分发你所开发的插件之前,请看看这本书。”
—Ernest Friedman-Hill
JavaRanch.com主管
“如果你想找一本Eclipse插件开发相关书籍作为指南,那就是本书了。虽然还有其他关于Eclipse的书籍,但很少有像本书这么深入的。”
—Simon Archer
“本书对我们团队的每一名成员都是非常宝贵的培训辅导资料。事实上,如果不用本书作为基础,对我们团队进行培训是不可能完成的。现在它成为我们所有开发人员的必读书籍,并且帮助我们准时地、不超出预算地交付了一个全新的、非常复杂的产品。感谢本书在阐述开发Eclipse插件过程中所做的伟大工作。”
—Bruce Gruenbaum
“本书无疑是所有我的书籍中最有用的书之一。如果你准备开始开发Eclipse插件,本书是必备书籍之一。它将节省你大量的时间和精力。在本书中,你将会发现很多有用的建议,尤其是那些有益于提升专业技巧和提高插件的完整性的。本书特色鲜明、结构良好、考虑周到、写作清晰,并且不包含任何多余内容。用于描述不同组件和清单的章节关系的图表是很好的,为理解各部分如何协同工作提供了帮助。本书还包含了操作、视图和编辑器等相关内容。我相信每个读者都能从作者的经验中受益。当然我就是受益者之一。”
—Tony Saveski
“这本有重要影响的书的作者拥有数十年的经验。这些经验是有关于目前已知的最具生产效率和最健壮的软件工程的。他们的经验现在已经成功地应用于使用Eclipse进行更有效的Java开发。这是一本每一个专业软件工程开发人员都应该拥有的书。”
—Ed Klimas
“仅仅是想让你们知道这是一本优秀的书。同时也感谢作者为创作这样一本易懂而又专业的书所做的努力。”
—Brooke Hedrick
“为Eclipse开发良好插件的关键是懂得在何处,以及怎样扩展该IDE。这就是本书所要告诉你的。它是专业插件开发者的必备,尤其是那些开发商业应用的人。我不能没有它。”
—Brian Wilkerson
—Bjorn Freeman-Benson
Eclipse基金会开源组织负责人
“这本大部头的书试图成为开发Eclipse插件的最佳实践指南。在我看来,在这一方面,它做得很成功。在你想要分发你所开发的插件之前,请看看这本书。”
—Ernest Friedman-Hill
JavaRanch.com主管
“如果你想找一本Eclipse插件开发相关书籍作为指南,那就是本书了。虽然还有其他关于Eclipse的书籍,但很少有像本书这么深入的。”
—Simon Archer
“本书对我们团队的每一名成员都是非常宝贵的培训辅导资料。事实上,如果不用本书作为基础,对我们团队进行培训是不可能完成的。现在它成为我们所有开发人员的必读书籍,并且帮助我们准时地、不超出预算地交付了一个全新的、非常复杂的产品。感谢本书在阐述开发Eclipse插件过程中所做的伟大工作。”
—Bruce Gruenbaum
“本书无疑是所有我的书籍中最有用的书之一。如果你准备开始开发Eclipse插件,本书是必备书籍之一。它将节省你大量的时间和精力。在本书中,你将会发现很多有用的建议,尤其是那些有益于提升专业技巧和提高插件的完整性的。本书特色鲜明、结构良好、考虑周到、写作清晰,并且不包含任何多余内容。用于描述不同组件和清单的章节关系的图表是很好的,为理解各部分如何协同工作提供了帮助。本书还包含了操作、视图和编辑器等相关内容。我相信每个读者都能从作者的经验中受益。当然我就是受益者之一。”
—Tony Saveski
“这本有重要影响的书的作者拥有数十年的经验。这些经验是有关于目前已知的最具生产效率和最健壮的软件工程的。他们的经验现在已经成功地应用于使用Eclipse进行更有效的Java开发。这是一本每一个专业软件工程开发人员都应该拥有的书。”
—Ed Klimas
“仅仅是想让你们知道这是一本优秀的书。同时也感谢作者为创作这样一本易懂而又专业的书所做的努力。”
—Brooke Hedrick
“为Eclipse开发良好插件的关键是懂得在何处,以及怎样扩展该IDE。这就是本书所要告诉你的。它是专业插件开发者的必备,尤其是那些开发商业应用的人。我不能没有它。”
—Brian Wilkerson
【插图】








点击看大图






加载中...

