04 RCP 第一章

   eclipse是一个rich client platform,词语"rich client"早在90年代的时候就被用来构建系统,用VB或者Delphi,在那些时候创建了一些流行的用户想要的"rich"用户体验。

  Rich提供了高质量的终端用户体验,例如高速的本地处理(不需要连接服务器),支持桌面的拖拽特点,系统剪切板,导航以及一些客户化的功能。让用户专注于他们的工作而不是系统本身。

   客户端技术在IDE的WYSIWYG UI(what you see is what you get),中成长了很多,使得构建他们容易而且有趣,这些IDE运行程序员重用一些公共的组件,而加快开发进度。

   早期的rich客户端平台 不是专注于客户的商业逻辑,而是底层的操作系统,需要原生的创建UI和访问数据库,而中间件提供的框架和基础组件让开发人员可以花更多的时间在业务逻辑上。

   终端用户对于rich的客户端程序很满意,因为他们很容易使用,但是IT主管很快就发现了问题(隐形消费),部署和升级客户端是一件手动的工作,客户经常对于安装和移动文件,非常痛苦。

   这个时候,基于浏览器的程序出现了,叫做“thin clients”,瘦客户端,它的出现解决了rich的很多问题,因为程序在服务器端,升级用不着用户考虑了,仅仅需要一个浏览器就OK了,节约了部署维护时间的同时,也流失了一些用户体验。

扫描二维码关注公众号,回复: 622531 查看本文章

   紧接着,为了平衡上面两种客户端的中间产物诞生了,RIA,即有了rich客户端的用户体验,又可以不用安装部署,这样的技术有:Adobe Flash/AIR,Google的GWT,微软的Sivlerlight以及Mozilla的XULRunner。

   然而,thin客户端的request和response模型需要更多的网络带宽以确保优化的交互性能。通常RIA技术缺少了模块化的模型,但是Eclipse的RAP是一个例外。

   今天的用户和问题继续驱动rich技术从web端到桌面的演变,具体的业务也变的更复杂,大量的数据在增长,而且不同的系统需要集成。用户还要再移动端,智能手机以及离线操作,去集成他们的业务流程,协作内容和更好的利用本地硬件优点。

   但是随着技术的发展以及业务的变迁,瘦客户端也 变的越来越不瘦了,使得各个软件组件的模块化和版本化变的是一个巨大的挑战。

   那么,解决方案是什么呢?当然当今出现了大量的组件化机制,例如:Eclipse,各个组件之间可以隔离变化,新的部署机制Equinox p2和企业管理系统Yosos等新技术。简单说:这些特点让程序更能符合动态的场景,同时提供最好的解决方案。

   1.1 如果你第一次听说Eclipse,你可能想知道,它是干什么的?首先,它是一个开源社区构建的基于java的工具和基础组件去帮助你解决你的问题,最明显的特征就是一个IDE,集成开发环境,它是一个世界级的易于使用的java IDE,并且它是免费的。

    在IDE的背后,它还是一个通用工具平台支持C,Python,以及其他的web技术的开发支持,他的组件模型意味着组件可以被按需组合和集成。

   工具平台就是RCP,EclipseIDE恰巧就是这样一个应用。这本书关注的是如何用RCP构建你的应用。

   

   1.2 为什么Eclipse适合构建rich客户端程序,

               组件化: 众所周知的plug-ins,插件,它具有版本可以被多个程序共享,程序可以配置用哪个版本的插件,这个机制使得变化被隔离在插件范围内,可以很方便的添加和被替换。

               中间件和基础设施: 灵活,可扩展的UI,帮助支持,上下文帮助,网络更新,错误处理等等。

               可携带: 客户端可以运行在任何JVM,J2ME在大于6.0的设备上,

               智能的安装和更新: 早期的rich的这些问题,Eclipse都考虑到了,可以通过HTTP,JavaWebStart,仓库,文件拷贝,或者企业管理系统更新。在26章向你展示。

               无连接的操作:因为rich运行在本地机器,程序可以不依赖网络,独立的运行,这是一个主要的特点相对于thin客户端,

              开发工具支持:一个好用的IDE用来开发,测试,打包,都会给开发者节约更多的时间。

              组件库:一个框架提供的不仅仅是框架,还有更多的组件支持,如:可插拔的UI,管理帮助上下文,安装和更新支持,文本编辑,控制台,图形编辑,建模框架,报表,数据维护,等等。更多的内容在29章,“生态系统”中介绍。

    Eclipse的历史:最开始这个项目并不是为了构建RCP,而是为了创建一个IDE,在Eclipse2.1的时候才基于RCP开发的IDE,3.0是一个主要的变化,之前的内核是最开始IBM的一套组件,但是随着OSGI规范的推广,Eclipse基金会,也把Eclipse重构基于OSGI规范,纵观Eclipse的历史,我们已经看到了大量的基于RCP的产品,更多的内容可以在 http://eclipse.org/rcp 看到。

    总结:如此多的成功案例告诉我们,RCP是一项成熟的技术,当然不仅仅限于RCP,但是我们这本书主要关注的是RCP,

猜你喜欢

转载自peacherdiy.iteye.com/blog/2077316