限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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:201870
用户头像

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

关注

评论

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

GPU云服务器与自建GPU服务器的对比

Ogcloud

gpu 云服务器 GPU云服务器

MYSQL 同步到ES 如何设计架构保持一致性

不在线第一只蜗牛

MySQL 数据库 架构

外包服务 | 从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

测吧(北京)科技有限公司

测试

技术领导力之路 - 正反馈

阿里技术

技术领导力 正反馈

京东流水线——满足你对工作流编排的一切幻想

京东科技开发者

绕过 MVCC 影响的 TiDB Delete 数据方法

TiDB 社区干货传送门

管理与运维 7.x 实践

万字心路历程:从十年老架构决定重构开始

阿里巴巴云原生

阿里云 云原生 iLogtail

稳定性方法论:可灰度 & 可监控 & 可回滚

京东科技开发者

【稳定性】从项目风险管理角度探讨系统稳定性

京东科技开发者

ETL的全量和增量模式

RestCloud

数据同步 ETL 增量同步 全量同步

港美股招商一手票方是什么?

一个普通的写作

AI力量:如何让测试更智能更高效

测吧(北京)科技有限公司

测试

企业异地组网的挑战与解决方案

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

TiKV 状态变化

TiDB 社区干货传送门

金三银四 | 测试开发岗求职攻略来袭,快来抢先一步!

测吧(北京)科技有限公司

测试

不再等待直接上答案,百度智能云推出数据库 Copilot

Baidu AICLOUD

数据库 大模型

原理剖析:AutoMQ 如何基于裸设备实现高性能的 WAL

AutoMQ

大数据 kafka 云原生 AutoMQ

OPPO案例 | Alluxio在Data&AI湖仓一体的实践

Alluxio

机器学习 模型训练 OPPO Alluxio #人工智能

异地组网有哪些实现方式?为什么要选择SD-WAN?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

月活超 1.1 亿,用户超 4 亿,你也在用的「知乎」是如何在超大规模 TiDB 集群上玩转多云多活的?

TiDB 社区干货传送门

实践案例 社区活动 数据库前沿趋势 OLTP 场景实践

微隔离,做到真正零信任

德迅云安全杨德俊

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