写点什么

Eclipse Ganymede:深入 RAP(Rich Ajax Platform)

  • 2008-06-24
  • 本文字数:1976 字

    阅读完需:约 6 分钟

作为即将到来的计划于 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 的版本。在运行时,这些应用的代码都跑在服务器上,并有一个基于 JavaScript 的 UI 来向服务器传送事件和向客户端传送结果。然而,Krause 也指出了 RAP 开发者必需引起注意的三件事:

  1. Web 是一个多用户环境,所以在一个静态对象中(如 singleton)保持应用状态是有可能引起问题的。
  2. 现有的 RAP 是 RCP 的一个子集——如果期望得到超出 RAP 支持的 RCP 附加功能,这里推荐的做法是通过插件来引入它们。
  3. 因为应用是在服务器上执行,开发者不应给每个用户分配大量的内存(这同样也是桌面应用的最佳实践)

作为下一代 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 本身进行一次采访了。

查看英文原文 Eclipse Ganymede: An in-depth look at RAP (Rich Ajax Platform)

2008-06-24 05:201762
用户头像

发布了 133 篇内容, 共 39.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Paste for Mac(剪切板工具) v4.1.2中文激活版

Rose

iStat Menus 6 for Mac(最强大的macOS系统监控软件) 中文直装版

Rose

AnyGo for Mac(在iPhone / iPad上轻松模拟GPS位置)

Rose

一起鸿蒙吧,现在到了「绝佳时刻」

最新动态

Tampermonkey for Mac(油猴Safari浏览器辅助插件) 中文版

Rose

Alfred 4 for mac(最好用的mac效率工具) 汉化版

Rose

YouTube mac(YouTube客户端)v1.22中文激活版

Rose

Magnet for mac(macOS的窗口管理软件) 中文免激活版

Rose

想入局具身智能、人形机器人领域,你必须了解的行业干货!

机器人头条

大模型 人形机器人 具身智能

现货量化合约跟单系统开发策略指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

华为云Flexus云服务器X实例Windows系统部署一键短视频生成AI工具moneyprinter

YG科技

智源发布异构统一通信库FlagCX,填补多元算力开源软件栈重要拼图

智源研究院

只要高帧率大错特错!沉浸式的游戏 才是好游戏

E科讯

在人群里,看见「鲲鹏开发者」

脑极体

AI

2024年做过的那些SAP项目

SAP虾客

SAP项目 2024年

华为云Flexus 云服务器 X 实例:在openEuler系统下搭建MySQL主从复制

YG科技

华为云Flexus云服务器X实例之openEuler系统下部署Discuz论坛网站

YG科技

Permute 3 for mac(全能媒体格式转换器)v3.11.4中文版

Rose

在人群里,看见「鲲鹏开发者」

白洞计划

AI

自学记录HarmonyOS Next的HMS AI API 13:语音合成与语音识别

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

DeFi 进入创新新时代:稳定币的崛起与美国国会对加密的支持

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Redis Desktop Manager for Mac(Redis桌面管理工具) 中文激活版

Rose

Eclipse Ganymede:深入RAP(Rich Ajax Platform)_Java_Ryan Slobojan_InfoQ精选文章