最近正在学习RCP插件开发,我用的是基于Eclipse 3.2 SDK的,最近事情比较多,我也不知道多久能写完,有时间我就会写到这里。
下面先让我来给大家的简单的介绍一下RCP!
一、RCP简介
RCP
的全称是
Rich Client Platform
(
RCP
可以看成是
Eclipse
的插件,只不过是脱离
Eclipse
运行的),可以把它看成是
Eclipse
的骨架,其他的插件是器官与血肉。我们可以把这个骨架拿过来填入自己的器官和血肉,这样就创造了我们自己的“
Eclipse
”!
使用
RCP
来开发
Java
桌面应用可以把开发的焦点转移到系统的逻辑功能上,而不是界面上。我们自己的程序可以继承
Eclipse
的风格与功能,而不用自己去编写诸如菜单,工具条,子窗口等等的界面元素。甚至我们可以把
Eclipse
本身的功能插件,比如
Console
拿来放在自己的程序里,这样就避免了很多重复开发。
人们可以直接为
Eclipse
构建插件,然后出售这些插件来赚钱,因为插件可以使用商业许可证发行。事实上我们建立
Eclipse
公共许可证,就是为了让
Eclipse
能很好的被商业采用,从而可以用它来赚钱,
Eclipse
的所有成员公司基本都是商业软件提供商。目前全球有上百万开发人员在使用
Eclipse,
因此中国开发人员完全可以构建有价值的插件和工具,然后进行销售。
富客户端平台
(RCP)
目前是比较流行的应用开发模式,
Eclipse
是如何支持富客户端的?
在
Eclipse
的早期,有些用户试图除了将
Eclipse
用于开发工具基础平台外,还用作更普遍的商业应用基础。他们认为一个
IDE
就是一个特殊的富客户端应用。这就是开放源码开发的魅力所在,当这些用户试着用
Eclipse
作为通用富客户端时,他们就把这些想法建议反馈给
Eclipse
开发小组。就这样
Eclipse
经过了
2.0
到
2.1
的发展,不断收到来自社区的建议和反馈,终于到了一个通用化的阶段。在
3.0
版发行时,正式声明将
Eclipse
作为通用的富客户端和
IDE
。
从
Eclipse 3.0
到
3.1
再到
3.2,
我们看到富客户端平台应用的快速增长。在国外较早地成功使用
RCP
应用之一是在
EclipseCon 2005
上的一个演示,演示的是美国国家航空航天管理局
(NASA)
的一个项目,当时
NASA
在加利福尼亚州有个实验室叫
Jet Propulsion Laboratory (JPL)
,负责火星探测计划,他们的管理用户界面就是一个
Eclipse RCP
应用,通过这个应用,加利福尼亚州的工作人员就可以控制在火星上运行的火星车。在演示过程中,有人问为什么使用
Eclipse,
回答是,使用
Eclipse
这门技术,他们不用担心,而且还节省了不少纳税人的钱,因为他们只需要集中资源开发控制火星车的应用就可以了。
二、国内现状
目前在国内
RCP
应用也逐渐发展和壮大起来,
RCP
有希望扭转
Java
桌面应用的颓势。如
Jlibrary
是一款开源的
CMS
系统,它将自己的
CMS
编辑客户端放在
Eclipse RCP
上来做。
NOA office
的
RCP
应用,能够让
open office
操作集中到
RCP
上来。
Nomad PIM
是一款简易的个人信息管理系统,可以对个人信息例如日程、支出、日记等进行管理。目前的各种管理系统已经开始使用
Eclipse RCP
来进行开发了,使用的人数也越来越多了。如目前的电信、电力系统等行业已经开始应用
Eclipse RCP
开发的桌面系统了。
P.S.:
以下是在国外网站上看到的介绍RCP的部分内容
Eclipse Rich Client Platform (RCP) is a runtime platform for delivering your Java applications on multiple platforms. RCP is far more than just a widget toolkit; it is effectively rich client "middleware" that provides a comprehensive platform for building and deploying applications that are modular, extensible, and updatable.
Eclipse Rich Client Platform (RCP) originated as an effort to formalize what some organizations had been already been doing with earlier versions: using the richness of the open source Eclipse platform to deliver high quality applications that provide rich user experiences. Since then, numerous organizations (including NASA, IBM, and Novell) have started to leverage Eclipse as the delivery platform for their own applications. As Eclipse continues to evolve, so does the support for building rich client applications.