原文地址:http://www.360doc.com/content/12/0521/15/1332348_212538068.shtml
一rap简单介绍
1 基本概念
RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将Java 代码生成html、JavaScript和CSS文件,底层基于Qooxdoo AJAX框架,这样,我们就不必接触JavaScript、CSS和处理Http的细节了,可以让我们更关心程序的功能实现。
2 与rcp的关系
RAP和RCP 一样,运行在Equinox框架上,Equinox是OSGI R4规范的实现,是一个非常优秀和成熟的OSGi框架,Eclipse 是通过这个框架实现灵活的扩展性和插件的热部署。RAP也支持Eclipse的大部分扩展点,其实RAP和RCP在架构上非常的类似,下图分别为RCP和RAP的架构图

讯享网
可以看出,这之间的整体架构差别不大,RCP是基于SWT的,RAP是基于RWT的,RWT是实现了SWT功能的一个子集。其实这之间的使用方式都差不多。比如RWT也能和SWT一样使用MVC的方式来创建表格。
简单的说就是让RCP的程序在浏览器中展示,那什么是RCP呢?RCP就是由eclipse 插件开发转向桌面应用开发,让你开发出来和eclipse一样的程序一样构造的程序出来,复用eclipse的视图、编辑器、状态栏等等,摆脱失败的awt和swing,让程序拥有专业级效果,程序实现又很简单很优雅,试想一下哪天eclipse整体的界面都可以跑在web上面?对,rap就可以实现,而且eclipse 官方也计划E4版本上让eclispe在web上面跑?虽然现在的进度有很大的延迟,但是我们可以看到rap的版本还是在有条不紊的发布,让eclipse跑在浏览器上面也不会太远了吧。
3 最新版本下载
1、下载eclipse rcp/rap版本 Eclipse for RCP and RAP Developers
http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/indigosr1
安装方式1
在eclipse中打开Help?Welcom?Overview选项,选择Rich Ajax Platform? Install Target Platform,如下图

点击ok即可完成安装。
3.2 安装方式2
选择Help?Install New Software,选择如下图所示的网址,选择rap选项,如下图所示;点击Next然后Finish即可完成安装。
如果下拉选项中没有下图所示的网址,可以点击右侧的Add按钮进行添加。
4 相关文档
http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.rap.help/help/html/intro.html
1、 Eclipse rap项目目前的进度
目前rap 的最新版本是 rap 1.5M4,最稳定版本是 rap 1.4.1,我们项目目前使用的版本是rap 1.4.1,Rap目前已经支持的部分是 swt,JFace,rap目前暂时不支持的部分是 dwaw2d、gef关于对dwaw2d、gef的支持目前正在开发中,原计划在eclipse E4版本中支持,目前改版本已经延迟了,而且暂时不支持dwaw2d、gef,至于什么时候完成,就不得而知了.
关于版本和支持情况大家可以去这个页面上看一下
http://www.eclipse.org/rap/downloads/
2、目前rap上存在的问题
1、运行速度
速度上面不同浏览器支持情况不同,使用chrome浏览器速度最快,firefox其次,IE浏览器(所有IE核心的都一样)最慢,而且不支持IE6(IE6上面跑界面上显示有些小问题),其他浏览器没有试过.大家有时间可以验证下,目前官方上发布支持的浏览器有
Firefox 2+ 、IE 7+ 、Safari 3+ 、Chrome 3+ 、Opera 9+
2、系统的bug
现在稳定版本的bug不少,开发中遇到的问题也不少,例如 treeViewer 会出现遮挡,系统自带的提示框第一次弹出的时候只能展示一半,等等,当然这些bug都可以通过其他的方式给避免掉.
郑重提示:想在自己项目中使用rap朋友们一定要慎重考虑
是否有精力和人力来处理一下”小”问题
虽然rap 是rcp的web版本,但是因为 一个是图形界面,一个是web界面,它们之间还是存在一些差异,现在把我们项目中碰见的差异罗列一下,大家以后碰见了就不至于浪费时间找原因了.^_^
1、 Label和Button按钮的显示的差异
当Label 和 Button显示的文字过长显示不开的时候,rcp、rap的处理方式就不一样了,rap显示不开会自己截取掉后面的文字,rcp会在文字的中间加上省略号.
还有关于Label 和Button 设置图片,文字过长的时候rap的图片不会显示,可以使用CLabel来替换Label
建议统一处理方式:不使用他们自带的文字截取方式,统一计算文件的长度,在文字最后面加上… 来使二者统一
2、 TreeViewer的差异
目前最新的rap 版本 TreeViewer偶尔有遮挡的问题,这个问题暂时不能有效的避免,
3、 属性视图 -tree无法设置行高的问题
关于设置 treeViewer的高度,rcp支持设置行的高度,rap不支持,这个暂时没有解决方法
4、 对GEF、draw2d的支持
目前rap暂时不支持GEF draw2d,不过目前已经在开发中。

5、 paint监听,rap没有
rap组建很多都没有paint 重绘方法,导致很多界面不能进行重绘。比如treeVIewer上面添加cellEditor进行界面上直接编辑,因为不支持,paint 导致 cellEditor和当前的行的位置不匹配。在后续文章中会对此问题的解决方法进行专门的讲解
6、 扩展点的差异控制台扩展点
Rap界面目前对扩展点的支持也不是很完善,控制台扩展点和帮助视图扩展点都不是很完善,不过大家可以自己实现.不是很复杂
7、 帮助系统的差异
Rcp /rap的帮助系统完全不同,rap的帮助系统只是加载一个jsp页面
8、上传下载的差异
一个是web 一个是图形界面,后续会写如何在rap实现上传和下载
9、视图拖动
用过eclipse的朋友都知道,eclipse之间的视图是可以任意拖动的,目前Rap不支持,视图间的拖动,这个算是比较遗憾吧
最后点finish。
重新打开RAP程序,可以看到汉化结果。

1、 在工程的根目录下面建立一个plugin.properties资源文件;在此资源文件中写入需要国际化的内容(键/值对),举例如下:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/31114.html