独行客http://blog.yesky.com/Blog/arkcq/复制地址
控制面板
日历
<2007年5月>
SuMoTuWeThFrSa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
留言簿(6)
随笔档案

如图1-1所示(摘自Eclipse官方网站),自从2001年发布第一个版本开始,Eclipse逐渐地被越来越多的开发人员所采纳,其功能和需求也在不断地更新和变化中。

图1-1  Eclipse发展历程

1.0版本的目的纯粹就是作为一个Java集成开发平台,就如JBuilderVisualAge那样。

1.0版本的应用过程中,由于Eclipse的开源特性,Eclipse社区不断地从其广大的Fans那里得到新的灵感,特别是一些面向最终用户的技术支持人员,他们往往会面对客户这些提问:

为何你所提供的产品不与其他公司提供的工具集成?

为何不能把某个工具产生的数据导入到其他工具中去?

为何在不同程序之间进行导入和导出时遇到了问题?

为何程序在执行相似的任务时却有着完全不同的用户界面?

为何不将Web站点设计工具与脚本编制程序集成?

为了解决以上的用户需求,Eclipse被重新设计和定位,并于2002年推出了2.x版本。Eclipse转变了自身的角色,从一个单一的集成开发环境转变为一个开放的可扩展的集成平台。它能将单独开发的工具融合到精心设计的套件中;它可以很容易地将现有工具移植到平台中;它是开放式的,让人容易理解,并且功能强大,不需要额外的努力就可以支持集成;它提供工具从而有助于使常见的任务自动化;它足够稳定,可以在它上面构建业界领先的工具。

2.x版本的Eclipse平台可以达成以下目标:

支持用于应用开发的各种工具的构建。

支持非受限的工具提供者,包括独立的软件提供商。

支持用于操作任意类型的文件(HTMLJavaCJSPEJBXMLGIF等)的工具。

推动各种工具的无缝集成。

支持GUI(图形用户界面)和非GUI的应用开发环境。

运行于多种操作平台(WindowsLinuxSolaris)。

利用Java编程语言的普及来推动应用工具的开发。

2.x版本在应用过程中的确达到了其所提出的目标,但是新的问题随之而来,举个例子来说,基于Eclipse我们开发出了一套工具,但是如何提交给客户呢?要将整个Eclipse集成开发环境都给用户打包过去吗?那太荒唐了,客户可不需要包含一个集成开发环境的产品。另外,许多插件并不是集成开发环境所专有的,它们完全可以脱离Eclipse而单独使用,最主要的是:先进的桌面应用有许多相似之处:帮助系统、升级管理、配置管理、开放的架构,等等,Eclipse集成开发环境的整个架构经历了无数的测试,已经证明是健壮的和一流的,这些东西为什么不能提供给用户用于桌面开发呢?

因此,自2.1版本开始,Eclipse社团内部启动了新的研究项目:基于Eclipse的集成开发环境构建技术。主要用来实现非集成开发环境的应用,换句话说,将Eclipse可扩展架构进行重用,开发出具备Eclipse新特征的应用。这就是Eclipse RCPRich Client Platform)的前身。富客户机程序(Rich Client)并不是一个新的名词,在20世纪90年代曾经风靡一时,但是随着Internet和基于Web的应用的不断发展,瘦客户机程序(Thin Client)成为了一项通用的解决技术。它可以解决富客户机程序所带来的诸如管理不便和升级成本高昂等问题。以放弃了用户界面的特色和高速的用户交互为代价,降低了部署和维护企业应用的费用。降低费用和简单化是很受欢迎的,但是向瘦客户机程序迁移在根本上是一种功能和性能上的倒退。瘦客户机程序采用请求-应答模型,所以要求更大的网络容量以确保最佳的交互效果。随着应用和用户本身变得越来越复杂,以及大量的新的需求(分布式的业务逻辑、操作移动设备、非互联的客户端等)的出现,瘦客户机程序对这些应用就显得无能为力了。

因此,富客户机程序的需求变得越来越强烈,但是其本身固有的部署和维护问题怎么解决呢?Eclipse 3.x版本的RCP(详细内容参见本书的第17章)为富客户机程序提供全新的解决方案,它充分利用Eclipse插件化的的特点,彻底地将集成开发环境相关的依赖项从Eclipse平台底层剥离,同时更多的用户界面组件被开放并允许个性化的定制。采用基于OSGiOpen Service Gateway Initiative)的平台运行时,从而实现动态的插件安装、移除和升级机制。3.x版本具有的以下特性解决了富客户机程序所固有的问题。

1.组件化

Eclipse包含了一套健壮的组件模型,基于Eclipse的系统通过组合这些称之为“插件”的组件来实现自身功能。插件是有版本编号的,可以在多个应用中共享,相同插件的多个版本可以并行安装,通过配置,来运行其所指定的版本,通过添加或者替换组件可以实现应用的不断完善和扩充。

2.基础设施

组件模型之上是一套框架和工具,用于帮助实现客户端应用的开发,提供可以扩展的用户界面规范,帮助支持、上下文敏感帮助、网络升级、错误控制等。

3.本地用户体验

相对于瘦客户机程序而言,许多用户希望得到丰富、舒适的本地用户体验。Eclipse标准小窗口工具箱(Standard Widget Toolkit)提供图形化的用户界面,SWT与本地的操作系统紧密地联系在一起,使得应用程序与操作系统在用户界面上风格统一。

4.轻便

瘦客户机程序的一个显著特点就是可以在任何地方运行。Eclipse支持各种异构的操作系统和客户机环境—从服务器到个人计算机、移动设备、嵌入式设备等。只要配备了Java虚拟机(JVM)和J2ME™ 基础库(或者更多如J2SE™ 1.4),你的应用都可以运行。

5.智能性

在部署和维护富客户机应用的支出中,安装和升级问题占据了花费的大部分。Eclipse的组件架构使得插件的部署和升级通过各种方式(HTTPJava Web Start、集中式的升级站点、简单的文件拷贝或者是企业管理系统)在一种可控的状态下自动进行。

6.非互联操作

富客户机程序在一台本地计算机上运行,可以脱离互联网,与瘦客户机程序相比,这是主要的优势。各种应用可以通过本地缓存、副本、存储转发机制等来解决互联中断的问题。

7.开发工具和组件库支持

Eclipse提供第一流的Java集成开发环境,覆盖产品开发、测试到发布的全过程。Eclipse提供丰富的组件支持,包括可插入的用户界面、安装和升级支持、文本编辑、图形编辑框架、模型框架等。

通过引入RCP的概念,Eclipse被重新定义为以下描述:Eclipse是一种支持任何应用的、开放的、可扩展的平台。


作者:独行客 阅读() 评论()  编辑 发表于:2006-12-22 09:47
相关内容
文章评论

暂无人对此文章发表评论!

发表评论
标题 *  
姓名 *  
主页
内容 *  
   验证码: *       
       
版权声明:天极是本Blog托管服务提供商。如本文牵涉版权问题,天极不承担相关责任,请版权拥有者直接与文章作者联系解决。
Powered by:

Copyright © 独行客