锁定老帖子 主题:RAP 与 RCP的区别
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-20
最后修改:2009-05-20
RAP 可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序,是的,你没有看错,其实RAP的工作原理是采用交叉编译的方式将 Java 代码生成html、JavaScript和CSS文件,底层基于Qooxdoo AJAX框架,这样,我们就不必接触JavaScript、CSS和处理Http的细节了,可以让我们更关心程序的功能实现,想起来的觉得很幸福。 RAP和RCP 一样,运行在Equinox框架上,Equinox是OSGI R4规范的实现,是一个非常优秀和成熟的OSGi框架,Eclipse 是通过这个框架实现灵活的扩展性和插件的热部署。RAP也支持Eclipse的大部分扩展点,其实RAP和RCP在架构上非常的类似,下图分别为RCP和RAP的架构图: 可以看出,这之间的整体架构差别不大,RCP是基于SWT的,RAP是基于RWT的, RWT是实现了SWT功能的一个子集。其实这之间的使用方式都差不多。比如RWT也能和SWT一样使用MVC的方式来创建表格。 RAP可以使用Servlet 编译,支持Servlet 2.3、2.4和2.5规范,并且可以通过打包成war文件部署在服务器上,客户端通过浏览器直接访问,不过这里的客户端和服务器的实现也不一样,。下面分别是服务器和客户端的实现。 服务器端:
客户端:
客户端的功能比较简单,是通过Qooxdoo程序从服务器上更新信息并绘制出相应的组件显示在浏览器中。基本上只是负责提交和更新显示数据的功能,服务器端的功能就比较复杂,比如要管理插件的生命周期,寻找新的插件并加载和管理系统的资源,还要处理多用户环境,在不同Sessions之间处理 OSGI bundles 的关系。
RWT VS SWT:
控件:
RWT实现了SWT 中的大部分基本控件,使用方法大同小异,也提供了CTabFolder、CBanner自定义控件,RWT中的Tree和Table功能和SWT的的差不多,支持排序、过滤和直接编辑单元格,使用方式也一样的。可以直接从SWT代码复制到RWT程序中使用。
布局:
RWP同样可以像SWT一样使用布局,布局的数据在服务器上计算处理,我们基本上不用担心跨浏览器出现布局混乱的问题了,目前RWP支持下面的布局: GridLayout, RowLayout FillLayout FormLayout StackLayout
RWT中布局采用的计算算法和SWT一样。
事件处理:
目前RWT支持以下事件类型: SelectionListener ControlListener ShellListener MenuListener ModifyListener VerifyListener
RWT附加功能:
RWT提供了附加的API可以方便管理web 环境,我们可以调用RWT.java的getLifeCycle静态方法获得程序的生命周期控制类,直接操作程序的生命周期; 可以通过getResourceManager静态方法获得资源管理的控制类,手工管理系统资源,通过getSessionStore方法管理session资源;通过getRequest 方法处理用户的请求getResponse处理服务器的响应。假如我们从下面URL中得到请求的参数内容: http://localhost:8080/rap?startup=foo&var1=value1&var2=value2 可以调用
RAP.JFace vs RCP.JFace
RAP的JFace实现了RCPJFace的所有视图查看器,比如TableViewer、TreeViewer等;
还有一个杀手级的特性: 支持在后台运行Job,可以通过UI界面执行长时间任务,支持Progress View 视图。
如果你很喜欢RCP中JFace的Data Binding功能的话,在RAP中也可以实现,通过RAP的附加插件可以让你拥有RCP的数据绑定功能,并且可以运用到目前所有的RAP控件中,
也许你看到这里的时候,上面的信息有些过时了,那有什么办法呢,Eclipse 组织的动作发展太快了,而且理念也非常的超前,应该听说过E4吧,Eclipse 的下一代开发工具,可以在Web 浏览器中打开Eclipse 进行开发了。持续关注Eclipse的发展,希望NetBeans不要落后的太远。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-20
发现在JavaEye上发表文章挺考验人的耐心的,唉,真是无语
|
|
返回顶楼 | |
发表时间:2009-08-08
RAP早就听说了,只是无心也无时间了解,学习啦
|
|
返回顶楼 | |
发表时间:2009-08-12
理念和架构是非常优秀的,关键目前没有实际案例在。
我看了下example,运行效率还不是很好。不知道是不是qooxdoo的问题。 |
|
返回顶楼 | |
发表时间:2009-08-12
slaser 写道 理念和架构是非常优秀的,关键目前没有实际案例在。 我看了下example,运行效率还不是很好。不知道是不是qooxdoo的问题。 现在国外已经有商业产品了,可以参考:http://vwpolo.iteye.com/blog/404071 |
|
返回顶楼 | |
发表时间:2009-08-14
谢谢LZ,现在正作ECLIPSE RCP的开发~~
|
|
返回顶楼 | |
浏览 7277 次