1.2.1 什么是RCP
RCP是Rich Client Platform的缩写。Rich Client大概在20世纪90年代初期开始使用,其经典的开发工具有Visual Basic和Delphi。富客户端应用平台为终端用户提供了基于本地操作系统的丰富的图形用户接口(GUI)使用体验,可以很容易地实现剪切、复制、拖放等操作,也能够高效进行业务逻辑处理。此外,类似于Visual Basic、Delphi这样的可视化开发环境使得开发富客户端程序变得简单而有趣,相信这是很多程序员的体会。
在开发过程中,开发人员需要更多的时间处理界面问题,同时业务逻辑、数据处理、系统和用户界面的高耦合性也使得系统的重构工作困难重重。更令人难以接受的是,系统的分发、部署和升级非常麻烦。客户端哪怕做一个小小的改动,也需要手工在各个客户机上逐一重新发布,这自然导致过高的部署维护成本。因此,人们提出瘦客户端(thin client)以试图解决这些问题。
瘦客户端是在互联网技术不断发展的基础上提出的。瘦客户端解决了富客户端所存在的应用程序分发和管理的诸多问题。由于应用程序统一部署在服务器端,维护工作只需要在服务器端进行,不但简单方便,也极大减少了部署维护的费用。对客户端的要求则更简单,简单到只需要一个Web浏览器就足够了。但是随之新的问题又出现了。首先,统一的浏览器界面和链接操作方式无法为最终用户提供丰富的图形使用体验,可操作性较差,而越来越多的操作者却渴望得到更加丰富的使用体验。其次,瘦客户端应用程序更多地依赖于Web服务器的性能,无法充分利用客户端机器的硬件处理能力,当现实中数据处理量飞速增长时,瘦客户端应用慢慢显示出捉襟见肘的态势,无法满足大量高效率的用户的交互性需求。最后,基于“请求/响应”模式的瘦客户端应用程序需要很高的网络能力以保证交互性能,难以快速响应大量业务逻辑的处理需求。所以,富客户端的应用局面再次打开了。
瘦客户端应用程序无法满足用户要求,富客户端又成为流行的开发模式,因此越来越多的企事业单位将应用程序建立在RCP基础上。但是与早期的富客户端相比,富客户端内涵有了变化。在需求变化异常频繁复杂的今天,用户不仅要求有丰富的图形用户界面,还希望能够具有智能更新、跨平台性、可扩展性等特性。Eclipse RCP可以满足这些需求。