小组这个礼拜开始每周要写一篇关于自己在公司所从事方面的技术文档,想了许久也没有想到要写什么,写点什么吧是可以,但是总觉得什么都还没达到能写些好东西的水准出来。看来以后还是得要多多锻炼自己,现在写的东西都当做是随笔吧,仅当是对自己学过东西的一种温习稳固,当然既然写出来了,就会有观众,如果有错误的地方还是欢迎大家指出。
我在公司里面是做Eclipse插件和RCP应用的,这次就讲点概念性的东西吧,部分翻译的vogella大神的文章。
1、什么是RCP应用程序?
RCP的话全称是:Rich Client Platform,富客端平台。我个人觉得就是一个基于OSGI框架,然后在这个框架上堆了一堆插件功能点集合的应用程序。
随着2004年3版本的Eclipse发布,Eclipse 3开始支持Eclipse平台的重用,能够构建基于Eclipse IDE的独立应用程序,也就是RCP应用程序。
虽然Eclipse 4也出了有一段时间了,加入了注入声明和CSS风格化,但是目前真正使用的人还不多,所以之后的文章主要还是基于Eclipse 3的版本去写。
2、基于Eclipse应用的优势
Eclipse本身是个非常棒的Java IDE,而且比较稳定,Java开发者使用得也比较广泛,它允许开发者设计各种各样基于组件的系统。
3、什么是扩展点
①扩展点定义的接口能为其他插件提供功能(编码和非编码)。
②插件点是在插件项目根目录下的plugin.xml中定义的
③现有的扩展点被Eclipse应用程序启动的过程中收集。
4、RCP的组要组件
①主程序
②透视图
③工作台顾问
和一般的Java类的入口是main方法一样,RCP也有着自己的入口方法,这就是实现了定义了org.eclipse.core.runtime.applications这个拓展点并实现IApplication这个接口的类和java类。
我自己的学习步骤其实并没有一开始从RCP开始做,只是从一个个拓展点开始,做的基于eclipse的插件。
以后我会对每个拓展点都会写博文,巩固自己,提高自己。
目前的计划是,拓展点和其他相关的技术穿插起来写,比如JFACE,SWT,或者EMF这类框架的东西,总之,慢慢来吧。