`
snoopy7713
  • 浏览: 1151860 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

RAP 与 RCP的区别

    博客分类:
  • RAP
阅读更多

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  的关系。

 

 

 

  

 控件:

 

 

 

 

 

 

 

 

 

 

  GridLayout, RowLayout FillLayout FormLayout StackLayout

 

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不要落后的太远。


 RWT中布局采用的计算算法和 SWT 一样。

 

 

 

 

 

SelectionListener ControlListener ShellListener MenuListener ModifyListener VerifyListener

 

 

 

 

  RWT提供了附加的 API 可以方便 管理web  环境,我们可以调用 RWT.java getLifeCycle 静态方法 获得程序的生命周期控制类,直接操作程序的生命周期 可以通过 getResourceManager 静态方法获得资源管理的控制类,手工管理系统资源,通过 getSessionStore 方法管理session 资源;通过 getRequest   方法处理用户的请求 getResponse 处理服务器的响应。假如我们 下面URL 中得到请求的参数内容

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

可以调用

 


 

 RWT 附加 功能:

  目前RWT支持以下事件类型:

 事件处理:

  RWP同样可以像 SWT 一样使用布局,布局的数据在服务器上计算处理,我们基本上不用担心跨浏览器出现布局混乱的问题了,目前 RWP 支持下面的布局:

 布局

  RWT实现了 SWT  中的大部分基本控件,使用方法大同小异,也提供了 CTabFolder CBanner 自定义控件, RWT 中的 Tree Table 功能和 SWT 的的差不多,支持排序、过滤和直接编辑单元格,使用方式也一样的。可以直接从 SWT 代码复制到 RWT 程序中使用。

 

RWT VS SWT

客户端:

分享到:
评论

相关推荐

    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