随笔-128  评论-55  文章-5  trackbacks-0

[转帖]RCP能否取代WEB技术?

作者:IT168 IT168 卒

随着Eclipse IDE的出现和不断发展,Java社区又进入了一个新的春天,Eclipse强大而又灵活扩展的插件机制成为了吸引开发人员的天堂,使其成为一款优秀的IDE。Eclipse项目的初衷并不打算构建成一个胖客户端平台(RCP),而只是想构建一个集成开发工具的平台。Eclipse RCP始于Eclipse2.1版本,到了3.0版本的时候,Eclipse作为一个RCP迈出了巨大的一步, 在3.0后的版本,Eclipse项目小组废除了以前的插件管理模型,通过引入OSGi(Open Service Gateway Initiative) R4标准来实现插件的动态安装,移除和更新,这使Eclipse IDE实现了革命性的变革。Eclipse3.1版本正式的引入了RCP发布功能,一时间RCP技术成为Java开发人员中最流行的词汇,那究竟什么是Eclipse RCP呢?

    什么是Eclipse RCP?

    Eclipse RCP (Rich Client Platform)是基于Eclipse项目的一个开发胖客户端应用程序的框架,它提供了一个通用的 Eclipse 工作台,允许开发人员扩展和构造强大的,跨平台应用程序。

    RCP和Plug-in工程的差别并不大,插件项目使用的工作台是Eclipse IDE本身;对于构建RCP项目,开发人员可以定义应用程序外观,商标和其它Eclipse基础组件等,实现自己的桌面应用程序。

    作者最开始接触到RCP的时候并没有感觉到RCP的强大之处,只觉得用RCP开发出来的应用程序的界面比用Swing开发出来的应用程序界面漂亮许多。但随着需求变得复杂,需要实现更多的功能,RCP的易开发性和强大的插件管理功能就显得越来越突出,真正有一种做产品的感觉,着实让人兴奋。事实上使用RCP开发的产品很多,如IBM Lotus Workspace, Eclipse trader, NASA Maestro,而Eclipse3.1本身就是使用RCP开发出的杰出代表产品。

    Web和Eclipse RCP技术孰优孰劣?

    随着RCP的强势出现,许多开发人员自然会拿Eclipse RCP技术和现在流行的Web技术对比,孰优孰劣?如果撇开业务需求,单单要对比两种技术是困难的,我们就主要对比两种技术如何适应业务的需求变化。

    Web技术的出现,不仅为Internet的广泛普及起到关键性的作用,而且还在Intranet、电子商务等其他相关计算机网络应用技术发展中起到关键作用,特别是Web动态技术.例如J2EE平台的Servlet技术,Servlet容器会将来自于客户端的HTTP请求封装为一个HttpServletRequest对象,然后根据请求的URI和servlet的键值关系,调用相应的servlet处理;最后,将处理的结果转换成HTTP响应发送回客户端。

    系统的所有业务逻辑都放在服务器端了,用户无须安装客户端程序,只需要通过浏览器就能访问,这样用户方就变成了“瘦”客户端。这种模式很好的适应了业务的变化,对于业务的改变都发生在服务器端,而客户端没有任何影响,这就是Web技术现在非常流行的重要原因之一。

    不能适应快速的业务变化,就成了传统的基于C/S模式的RCP系统最大弊端。

    Eclipse RCP的插件机制是其最大的亮点,基于Eclipse RCP构建的应用系统的表现出相当出色的扩展性,用户只需要下载一个插件,简单的部署到应用系统中,就能为应用程序添加新功能。Eclipse RCP的插件管理机制较好的解决了应用程序的扩展问题,适应业务需求的变化。

    使用RCP开发的桌面应用程序其主要应用于如科学计算,数据管理等业务领域,而Eclipse RCP与其它RCP系统相比,屏蔽了底层操作系统的差异,真正实现了跨平台;和Web应用系统相比,使用Eclipse RCP系统的开发人员还可以根据需要,实现自己的插件,部署到与有的RCP产品,增强其业务功能的。

    Web技术和RCP在各自的应用领域都扮演着非常重要的作用。这个时候可能会有人问“那Web技术会被Eclipse RCP技术取代吗”?

    Web技术会被Eclipse RCP技术取代吗?

    技术的兴起与消亡都与它关注的业务领域息息相关的,如果这种技术适合这个业务领域的发展需求,那自然会被普及推广,反之则会被淘汰。

    其实早在90年代初就提出了“Rich Client”的概念用来构造客户端应用程序,常用的开发语言有Visual Basic和Delphi,出现了大量的桌面应用程序,如ERP,财务管理系统等。而随着Internet的普及,Web技术的发展,一时间诸如CGI,ASP,JSP等技术成为了开发人员的必须要掌握的技术,越来越多的企业使用Web技术在Internet上构建应用系统,典型的系统有办公自动化系统。

    经过多年的发展,虽然有些应用开发方式已经从C/S模式演变成B/S模式,但是桌面应用程序并没有被完全被B/S系统替代,它们都在各自的业务领域中发挥着不可替代的作用,并且还不断涌现新的Web技术和RCP技术,促进各自领域的发展。如今Eclipse RCP的横空出世,备受业界关注,仿佛要打破这种平衡。

    而事实上Eclipse RCP的出现只是增强了Java领域在桌面应用的开发能力,只是Eclipse RCP优秀的插件管理机制让所有人耳目一新。我们可以理性的回过头看,当Web技术大兴其道的时候,桌面应用程序开发技术并没有消失;同样,Eclipse RCP的出现也不能够取代Web技术,两者是相互依存的关系,RCP的不断创新,将为Web2.0注入新的生机。



Author: orangelizq
email: orangelizq@163.com

欢迎大家访问我的个人网站 萌萌的IT人
posted on 2007-07-26 09:02 桔子汁 阅读(275) 评论(0)  编辑  收藏 所属分类: J2EE

只有注册用户登录后才能发表评论。


网站导航: