<!-- @page { margin: 2cm } H3 { margin-bottom: 0.21cm } H3.western { font-family: "Liberation Sans", sans-serif } H3.cjk { font-family: "Droid Sans Fallback" } H3.ctl { font-family: "Lohit Hindi" } H2 { margin-bottom: 0.21cm } H2.western { font-family: "Liberation Sans", sans-serif; font-size: 14pt; font-style: italic } H2.cjk { font-family: "Droid Sans Fallback"; font-size: 14pt; font-style: italic } H2.ctl { font-family: "Lohit Hindi"; font-size: 14pt; font-style: italic } H1 { margin-bottom: 0.21cm } H1.western { font-family: "Liberation Sans", sans-serif; font-size: 16pt } H1.cjk { font-family: "Droid Sans Fallback"; font-size: 16pt } H1.ctl { font-family: "Lohit Hindi"; font-size: 16pt } P { margin-bottom: 0.21cm } A:link { so-language: zxx } -->
由于eclipse 做的比较成功,所以说起rcp ,就以为指的就是eclipse rcp
rcp 它是一个平台,它里面只是定义了一些规则。
开发rcp 应用程序
扩展eclipse 的功能
可以提高你的工作效率
微核心+ 插件的形式。
对扩展 扩展点的初步认识
对插件一个认识,插件是在rcp 这个平台中加载运行的最小单元。
插件中可以扩展别人插件的功能,也可以自己定义一些扩展点让别人去扩展。
rcp 平台默认定义的了一下常用的扩展点。
插件在真正使用的时候才去加载。如何做到呢?
ui 与core 的分离,也就声明与实现的分离。
在xml (plugin.xml )中定义 在ui 的描述信息,rcp 在启动的时候
会加载每个插件中的这个文件,这样启动后系统就知道在哪里显示什么东西UI 了。
这样就保证了rcp 可以快速的启动。不会受到插件的增多儿影响你的用户体验。
rcp 没有一个很好的文档,没有很多参考资料。
在开发过程中就是看代码。例如:你想知道一个扩展点如何使用,是没有很全面的文档来说明的。
在碰到新的需求,不知道如何来实现,首先应该先去参考别人类似的需求是如何实现的。
这样时间长了你就可以有自己的一套方法。
个人观点:看代码胜过看文档。
这个功能实现了 开闭原则。 对扩展的开发,对修改的封闭。
传统的实现方式 通过java 继承/重写来实现对原有功能的扩展。
传统方式有个弊端,没法明确的指出那些地方是可以扩展的。
如何你的系统使用的人多了。2 种就不容易做架构的调整/升级。
提供了性能,用户体验
让你很容易开发出自己的产品
pde 开发工具 /强大帮助/国际化/打包 /发布自动更新/
的技术支持
打造一个平台,定义一个规则,每个人都可以遵守这些规则,来为eclipse 做贡献。
负责每个插件可以协调工作。
把系统中有可能扩展的地方一扩展点的形式提供。
1 :找不找类
由于插件在启动的过程中是每个插件一个类加载器,所以你的在插件描述文件中指定要加载哪些类。
不可以只是在java classpath 中设置。
2 :插件的概念扭转不过来。
给你个需求,应该用那个扩展点来实现,这个扩展点如何来用。
或则参考类似插件如何实现的。
?
代码提示 可以统计分析后做出的提升。甚至会联网 统计。
xtext 你可以自己定义一套自己的语言(语法的包装)(基于java )
默认会有一套开发工具/调试/运行的支持。