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

深入RAP

    博客分类:
  • RAP
阅读更多

作为即将到来的计划于6月25日发布的Eclipse Ganymede的一部分,InfoQ的报道将会覆盖一系列Eclipse的子项目。今天,主角是RAP(Rich Ajax Platform),它正好发布了1.1版。InfoQ采访了Jochen Krause以更多地了解RAP以及它所提供的功能。

    为了描述RAP给Eclipse带来的功能,Krause首先把Eclipse的用户分成了两类:一类是使用Eclipse IDE以及其工具来进行开发,一类是使用基于Eclipse平台的应用。krause表示,对于IDE及工具用户来说,开发工具将只会暴露RAP本身,而 RAP的功能对于他们是透明的。与此不同的是,对于使用基于Eclipse平台应用的用户来说,他们现在将有能力运用基于OSGi的Eclipse插件开 发模型,JFace以及Web版的SWT来构建支持AJAX的富Web应用。RAP的意图类似于Eclipse富客户端项目(RCP),主要的区别在于更 精简的API以及为Web应用的多用户特性所做的增补。相对于RAP 1.0,1.1版扩展了API,引进了一系列诸如SWT的鼠标事件,JFace的图像装饰器以及工作台的增强等等新特性——同时它也包含了Eclipse 3.4的新功能,比如安全 的增强和widgets的阿尔法着色。

    当被问到RAP将如何与诸如Dojo,GWT,OpenLaszlo等AJAX框架相搭配,krause谈到:

    RAP是一个专注于服务器 端 的AJAX框架并与OSGi,Equinox和Eclipse平台有着紧密的关系。要与其它的框架相比并不容易,因为他们的关注点有所不同。 Dojo,GWT,OpenLazlo的widgets工具箱非常出色,但却不能提供一个广泛的应用平台。我们并不将其视为竞争对手,相反的是,他们或许 将成为RAP后续版本客户端表现的附加选项。RAP现有的客户端表现是基于qooxdoo的,这同样是个强大的AJAX框架。RAP和GWT都支持开发者 用Java 编写,但其运行时模型却大不相同,GWT是整个在浏览器执行的,而RAP的执行被分成了服务器 端和客户端两部分。

    Krause同时提到了RAP能够将单一的代码源(codebase)编译成AJAX应用,或者编译成RCP应用,并表示这并不像看上去那么复杂。编译是 针对于同样的工作台,JFace和SWT APIs来完成的,但当以Web应用来运行时,这些库的常规版本都被替换成了其支持Web的版本。在运行时,这些应用的代码都跑在服务器上,并有一个基于Java Script的UI来向服务器传送事件和向客户端传送结果。然而,Krause也指出了RAP开发者必需引起注意的三件事:

    Web是一个多用户环境,所以在一个静态对象中(如singleton)保持应用状态是有可能引起问题的。

    现有的RAP是RCP的一个子集——如果期望得到超出RAP支持的RCP附加功能,这里推荐的做法是通过插件来引入它们。

    因为应用是在服务器上执行,开发者不应给每个用户分配大量的内存(这同样也是桌面应用的最佳实践)

    作为下一代SWT的一部分,RAP计划提供完全基于AJAX的SWT实现。Krause指出并不是所有的平台都支持SWT API,并且SWT是为桌面应用而设计的。尽管大多数的SWT API都能被实现,但像在画布上描绘以及探测鼠标移动等功能还有待于浏览器在这些方面的进一步改善和提高。目前还欠缺的像拖拽和键监听器等API已计划在 RAP的下一发布版本中,并将包含来自其它团队的技术,例如SWT的用于StyledText widget等复杂组件的Java/Flex 交叉编译。

    关于RAP的远景规划,Krause表示将着力于两个主要的领域:扩展RAP API以实现更多的RCP API,以及利用Eclipse平台让用户从Web的视角获得更加自然的用户体验。Krause进一步阐释了第二点,RAP通过与可用性专家紧密协作,分 析用户交互,以解决来自易用性的挑战。Krause同时看到了Web应用和桌面应用通过AJAX和RIA的融合将带来的好处,并提到研究表明在Web环境 里通过基于Eclipse Draw2D API来提供图形编辑器是可行的。

    当问到RAP将如何与E4集成并影响E4,Krause表示:

    在浏览器运行IDE这一用例对我来说没什么吸引力。JDT在我的机器上表现非常出色,我相信大多数开发者都有同样的感觉。但这并不表示没有Web技术让我 们变得更方便的用例。看一看需求,任务管理或是开发流程管理。这是我所能预见RAP在未来将会发挥作用的领域。但回到这个问题。Eclipse平台团队和 RAP团队在08年的EclipseCon上共同宣布了e4,并即将在Ganymede发布之后开始在这一平台上的工作。RAP将会是众多使应用具备 Web能力的技术中的一分子,但并不会是其唯一的可能。我们同样需要支持其它的附加于Eclipse平台的web/JavaScript技术。我期待着孕 育出更多的跨(领域)合作。RAP团队将提供实现以及平台对多用户的专门技术支持,SWT团队对诸如Flex/Silverlight等RIA平台的交叉 编译进行了研究。更优化的风格是我们合作的另一关键领域。还有更多的东西没有被提到,但那理应再对E4本身进行一次采访了。

分享到:
评论

相关推荐

    RAP放出了draw2d_in_RAP的Demo

    标题中的"RAP放出了draw2d_in_RAP的Demo"提到了两个关键概念:RAP和draw2d。...通过阅读提供的博客文章,查看源代码,并观看视频,我们可以深入了解如何在RAP项目中利用draw2d实现丰富的2D图形交互功能。

    RAP Mail例子解释

    在深入理解`RAP Mail`例子之前,我们先来了解一下`RAP`。`RAP(Rapid Application Protocol)`是一个基于Web的快速应用开发框架,它主要用于构建B/S系统的后台管理界面。`RAP`借鉴了Eclipse RCP(Rich Client ...

    RAP Helloworld

    随着对 RAP 框架的深入理解,你将能够创建复杂的、响应式的 Web 应用,提供桌面级的用户体验。 总的来说,"RAP Helloworld" 是一个很好的起点,它引导你进入 RAP 的世界,通过实际操作来学习和理解这个框架,从而为...

    eclipse rap教程

    这个教程将带你深入了解Eclipse RAP的基础知识和高级特性。 1. **RAP基础概念** - **RAP架构**:RAP基于请求-响应模型,服务器端运行Eclipse插件,客户端通过HTTP/HTTPS与服务器交互,传输的是序列化的RWT事件。 ...

    chanjet.RAP.zip

    压缩包内的文件名列表提供了更深入的线索: 1. "chanjet.RAP.app.json"可能是应用配置文件,包含关于RAP应用的基本信息和设置。 2. "chanjet.RAP.app.png"可能是一个应用图标,用户在界面中看到的视觉标识。 3. ...

    RAP源码泛读及分析

    【描述】这篇博客主要探讨了RAP框架的源码解析,作者通过深入研究RAP的内部实现,旨在帮助读者理解这个工具的工作原理,提高开发人员对RAP的理解和使用能力。虽然描述部分为空,但我们可以从标题推测,文章可能涵盖...

    Eclipse RAP Deploy - 针对Eclipse 3.5 + Tomcat

    本文将深入探讨Eclipse RAP与Tomcat的集成,以及如何通过Eclipse进行部署。 首先,了解Eclipse RAP的核心概念至关重要。RAP基于RWT(Remote Widget Toolkit),它是SWT的网络版本,将客户端的事件处理和UI渲染转移...

    RAP 整合 Spring (基于 Spring-osgi )

    标题 "RAP 整合 Spring(基于 Spring-osgi)" 暗示了本文将探讨如何在 RAP(Remote Application Platform)框架中集成 Spring ...如果你对 OSGi 和 Spring 有深入的理解,这将极大地增强你的开发效率和应用程序的质量。

    rap总结

    本篇文章将深入探讨RAP的核心概念、主要功能以及如何通过它来提升开发效率。 【源码分析】 源码是理解任何软件系统的基础,对于RAP框架也不例外。通过研究源码,我们可以洞察其设计思想和实现机制。RAP基于Eclipse...

    rap规则代码

    "RAP"通常指的是"Rule As Programming"或"Rapid Application Programming",在IT行业中,它是一种将业务规则转化为可执行代码的方法。这里的"RAP规则代码"可能是指使用特定的编程框架或工具,用于快速开发和管理业务...

    RAP-0.14.16原代码

    【RAP-0.14.16原代码】是一个与软件开发相关的压缩包,标签为“开发”,这表明其中包含了某个项目的源代码,可能是用于Web应用、桌面应用或者是移动应用的开发。源代码是程序员用来编写和理解软件的原始语言形式,它...

    Node.js-rap2-delos阿里妈妈前端团队出品的开源接口管理工具RAP第二代

    通过源码,你可以深入了解其内部工作原理,甚至为工具贡献自己的代码,参与开源社区的发展。 总的来说,**Node.js-rap2-delos** 是一个强大的接口管理解决方案,它不仅提升了前端团队的开发效率,还促进了团队间的...

    RAP 1.4.1 官方jar包bug修复

    在IT行业中,修复软件bug是开发者日常工作中不可或缺的一部分...由于缺乏具体的bug描述和修复详情,我们无法提供更深入的技术细节,但可以肯定的是,这个修复过程对于维持RAP框架的稳定性和提升用户体验具有重要意义。

    基于PHP的rap(RAP接口管理系统)源码.zip

    源码的提供意味着用户可以深入理解系统的工作原理,对其进行定制化修改,或者作为学习PHP和API管理技术的参考实例。 【标签】:“PHP” PHP是一种广泛使用的开源脚本语言,尤其在Web开发领域中应用极为广泛。作为...

    Fiori&CDS&RAP

    接下来,我们将深入探讨这三个概念以及它们如何协同工作。 首先,Fiori是SAP推出的一套现代化用户界面设计框架,主要应用于SAP业务应用。Fiori以其简洁、直观和任务导向的设计理念,极大地提升了用户的工作效率。它...

    Laravel开发-rap

    在本文中,我们将深入探讨Laravel框架中的"RAP",即角色与权限管理。Laravel是一种流行的PHP web应用开发框架,以其优雅的语法和强大的功能而受到开发者喜爱。"RAP"是Laravel中用于实现复杂权限控制的一个组件,它...

    ABAP_RAP_OPENSAP:打开SAP ABAP RAP钱包

    在本文中,我们将深入探讨ABAP RAP,以及它如何与SAP钱包集成,以实现安全的身份验证和授权。 首先,让我们了解一下ABAP RAP。ABAP RAP是SAP开发的一种面向对象的编程模型,用于构建现代化、灵活且可维护的ABAP应用...

Global site tag (gtag.js) - Google Analytics