`
vwpolo
  • 浏览: 194730 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RAP 与 RCP的区别

阅读更多

  RAP 可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAXWeb 2.0应用程序,是的,你没有看错,其实RAP的工作原理是采用交叉编译的方式将 Java 代码生成html、JavaScript和CSS文件,底层基于Qooxdoo AJAX框架,这样,我们就不必接触JavaScriptCSS和处理Http的细节了,可以让我们更关心程序的功能实现,想起来的觉得很幸福。

  RAPRCP 一样,运行在Equinox框架上,EquinoxOSGI R4规范的实现,是一个非常优秀和成熟的OSGi框架,Eclipse 是通过这个框架实现灵活的扩展性和插件的热部署。RAP也支持Eclipse的大部分扩展点,其实RAPRCP在架构上非常的类似,下图分别为RCPRAP的架构图:
 

   可以看出,这之间的整体架构差别不大,RCP是基于SWT的,RAP是基于RWT的,  RWT是实现了SWT功能的一个子集。其实这之间的使用方式都差不多。比如RWT也能和SWT一样使用MVC的方式来创建表格。

   RAP可以使用Servlet 编译,支持Servlet 2.32.42.5规范,并且可以通过打包成war文件部署在服务器上,客户端通过浏览器直接访问,不过这里的客户端和服务器的实现也不一样,。下面分别是服务器和客户端的实现。

   服务器端:

客户端:

 

 

  客户端的功能比较简单,是通过Qooxdoo程序从服务器上更新信息并绘制出相应的组件显示在浏览器中。基本上只是负责提交和更新显示数据的功能,服务器端的功能就比较复杂,比如要管理插件的生命周期,寻找新的插件并加载和管理系统的资源,还要处理多用户环境,在不同Sessions之间处理 OSGI bundles 的关系。

 

RWT VS SWT

  

 控件:

  RWT实现了SWT 中的大部分基本控件,使用方法大同小异,也提供了CTabFolderCBanner自定义控件,RWT中的TreeTable功能和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.javagetLifeCycle静态方法获得程序的生命周期控制类,直接操作程序的生命周期可以通过getResourceManager静态方法获得资源管理的控制类,手工管理系统资源,通过getSessionStore方法管理session资源;通过getRequest 方法处理用户的请求getResponse处理服务器的响应。假如我们下面URL中得到请求的参数内容

http://localhost:8080/rap?startup=foo&var1=value1&var2=value2

可以调用

 

HttpServletRequest request = RWT.getRequest(); String var1 = request.getParameter( "var1" ); String var2 = request.getParameter( "var2" );

 

RAP.JFace vs RCP.JFace

 

 

 

 

  RAP的JFace实现了RCPJFace的所有视图查看器,比如TableViewer、TreeViewer等;
  支持大多数的视图概念,像:ContentProvider、LabelProvider、ColorProvider、ViewerFilter、DecoratingLabelProvider,
  支持文本装饰,比如文本框前面加个小灯泡提示
  支持所有JFace的标准对话框,也支持自定义对话框。
  支持向导页
  支持附加视图,比如 Outline,Properties视图
  编辑器支持:可使用多页编辑器,支持继承自ISaveablePart的视图
  支持透视图:可支持透视图切换器,透视图扩展点。
  支持Eclipse 3.3的菜单框架:包括Commands和Handler,支持采用表达式来控制菜单是否可见和是否可用
  支持Form表单样式 

 

 还有一个杀手级的特性: 支持在后台运行Job,可以通过UI界面执行长时间任务,支持Progress View 视图。

 

  如果你很喜欢RCP中JFace的Data Binding功能的话,在RAP中也可以实现,通过RAP的附加插件可以让你拥有RCP的数据绑定功能,并且可以运用到目前所有的RAP控件中,

 

  也许你看到这里的时候,上面的信息有些过时了,那有什么办法呢,Eclipse 组织的动作发展太快了,而且理念也非常的超前,应该听说过E4吧,Eclipse 的下一代开发工具,可以在Web 浏览器中打开Eclipse 进行开发了。持续关注Eclipse的发展,希望NetBeans不要落后的太远。


 

 

  • 大小: 19.1 KB
  • 大小: 25.7 KB
  • 大小: 26.7 KB
分享到:
评论
5 楼 1314520ln 2009-08-14  
谢谢LZ,现在正作ECLIPSE RCP的开发~~
4 楼 vwpolo 2009-08-12  
slaser 写道
理念和架构是非常优秀的,关键目前没有实际案例在。
我看了下example,运行效率还不是很好。不知道是不是qooxdoo的问题。

现在国外已经有商业产品了,可以参考:http://vwpolo.iteye.com/blog/404071
3 楼 slaser 2009-08-12  
理念和架构是非常优秀的,关键目前没有实际案例在。
我看了下example,运行效率还不是很好。不知道是不是qooxdoo的问题。
2 楼 flysheet 2009-08-08  
RAP早就听说了,只是无心也无时间了解,学习啦
1 楼 vwpolo 2009-05-20  
发现在JavaEye上发表文章挺考验人的耐心的,唉,真是无语

相关推荐

    RCP工程转成RAP,并在浏览器中运行

    1. **RCP与RAP的区别** RCP和RAP在结构上非常相似,主要区别在于运行环境和用户交互方式。RCP是桌面应用框架,依赖本地操作系统;而RAP则是基于HTTP的远程应用平台,使得应用能在Web浏览器中运行。 2. **转换过程*...

    Eclipse RCP 初级入门教程

    要开始RCP开发,首先需要安装Eclipse IDE,然后安装Eclipse RCP和RAP开发工具(PDE)。这些工具提供了一整套用于创建、调试和部署RCP应用的工具集。 **4. 创建第一个RCP应用** 在Eclipse中,通过“新建 -> 项目 -> ...

    Rcp一个简单的入门教程

    1. **环境搭建**:首先,你需要安装Eclipse IDE for RCP and RAP Developers,这个版本包含了开发RCP应用所需的所有工具和库。然后,创建一个新的RCP项目,通过"File" -> "New" -> "Project" -> "Eclipse" -> "RCP ...

    eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-macosx-cocoa-x86_64.dmg) 适用于macOS x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    rcp 学习资料下载,一个简单的rcp例子

    1. **环境搭建**: 安装Eclipse IDE for RCP and RAP Developers,并创建一个新的RCP项目。 2. **理解工作台结构**: 学习如何创建视图、编辑器以及透视图,并了解它们之间的交互。 3. **事件模型**: 了解RCP中的事件...

    一个简单的RCP开发例子

    1. **安装Eclipse IDE**:作为RCP开发的基础,你需要下载并安装支持RCP开发的Eclipse版本,通常选择带有"Java Development Tools"和"Eclipse RCP and RAP Developers"组件的版本。 2. **创建新项目**:在Eclipse中...

    eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz

    Eclipse IDE for RCP and RAP Developers(eclipse-rcp-2022-06-R-linux-gtk-x86_64.tar.gz) 适用于Linux x86_64: A complete set of tools for developers who want to create Eclipse plug-ins, Rich Client ...

    通过例子学习EclipseRCP开发

    1. 安装Eclipse IDE:首先,你需要下载并安装Eclipse IDE for RCP and RAP Developers版本,这个版本包含了开发RCP应用所需的所有工具。 2. 创建新项目:在Eclipse中,选择“File” -> “New” -> “Project”,然后...

    RCP_Plug-in开发自学教程(CEC首发)

    要开始RCP开发,首先需要安装Eclipse IDE for RCP and RAP Developers。这个版本的Eclipse包含了开发RCP应用所需的工具和插件。然后,可以通过新建一个"Plug-in Project"来启动你的第一个RCP项目。 三、RCP Plug-in...

    Eclipse RCP开发SDK_3.6.2.rar

    RCP支持数据驱动的UI设计,使得UI组件能够与模型进行双向绑定。 3. **服务(Services)**:Eclipse RCP提供了一套全面的服务,如国际化服务、首选项服务、事件服务等,这些服务帮助开发者处理常见的任务,使他们能...

    菜鸟EclipseRCP学习之路

    1. 安装Eclipse IDE for RCP and RAP Developers版本,这是一个专门为RCP开发定制的集成开发环境。 2. 创建一个新的Eclipse RCP项目,选择适当的模板,如“Basic”或“Feature-Based”。 3. 配置项目的运行时环境,...

    实现 RCP 应用程序的步骤

    Eclipse IDE for RCP and RAP Developers包含了开发RCP应用所需的工具和插件。 2. **创建新项目** 在Eclipse中,选择“File” > “New” > “Project”,然后在弹出的对话框中选择“Eclipse Plug-in Project”。...

    RCP详细教程

    1. **环境搭建**:安装Eclipse IDE,并安装RCP和RAP开发相关的插件。 2. **创建新项目**:使用Eclipse的New -> Plugin Project创建一个插件项目。 3. **定义插件元数据**:在MANIFEST.MF文件中配置插件的依赖、导出...

    RAP放出了draw2d_in_RAP的Demo

    RAP基于Eclipse RCP(Rich Client Platform)的理念,将桌面应用的设计思想引入到Web应用中,使得开发者可以使用熟悉的Java语言和Eclipse插件开发方式来创建富Web应用。 在RAP中,draw2d是一个重要的图形库,它是...

    一个简单的RCP入门教程

    通常,你需要下载并安装Eclipse IDE for RCP and RAP Developers版本。此外,熟悉Java编程语言也是必要的,因为Eclipse插件主要用Java编写。 **创建RCP应用的基本步骤**包括: 1. **新建一个RCP项目**:在Eclipse中...

    Instant Eclipse 4 RCP Development How-to.pdf

    《即时Eclipse 4 RCP开发指南》这本书详细介绍了如何使用Eclipse 4来创建富客户端应用程序(Rich Client Platform,简称RCP),它是一本实践操作指南,包含了超过10个实用的配方。Eclipse 4 RCP是Eclipse平台中用于...

    RAP Mail例子解释

    `RAP`借鉴了Eclipse RCP(Rich Client Platform)的设计理念,提供了丰富的组件库和灵活的扩展机制,使得开发者能够快速地开发出具有桌面级用户体验的Web应用。 在`RAP Mail`例子中,我们将看到如何利用`RAP`框架来...

    eclipse rcp 客户端MySQL连接

    1. Eclipse IDE for RCP and RAP Developers:这是开发Eclipse RCP应用程序的基础。 2. MySQL Connector/J:这是MySQL的Java驱动,用于Java应用程序通过JDBC连接到MySQL数据库。 **步骤一:添加MySQL JDBC驱动** 在...

    RCP+Plug-in开发自学教程_RCP+Plug-in开发自学教程_源码

    1. **环境搭建**:安装Eclipse IDE for RCP and RAP Developers,获取必要的RCP开发工具集。 2. **创建新项目**:通过New -> Project -> Plug-in Project,创建一个新的Plug-in项目。 3. **编写代码**:在项目的src...

    eclipse rap教程

    - **安装Eclipse IDE**:首先,你需要安装支持RAP开发的Eclipse版本,如Eclipse for RCP and RAP Developers。 - **安装RAP SDK**:通过Eclipse的软件更新站点添加RAP的SDK。 - **创建新项目**:使用RAP模板创建...

Global site tag (gtag.js) - Google Analytics