【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

在线HTML转PHP工具

入门小站

工具

10分钟弄懂云原生网络功能,快来瞧瞧!

VoltDB

云原生 云原生网络 网络功能

如何挑选文档管理软件?

小炮

文档管理

网络空间测绘国内外发展及现状

郑州埃文科技

网络安全 IP地址 网络空间测绘技术

NVIDIA安培架构下MIG技术分析

天翼云开发者社区

PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能

阿里云数据库开源

数据库 阿里云 开源 国产数据库 PolarDB-X

EAM与ERP有什么区别?

低代码小观

资产管理 企业管理系统 ERP CRM系统 ERP系统

一个关于SDWAN单臂部署方案验证的实验

天翼云开发者社区

网络

Neo生态| Polaris Launchpad 黑客松评审现已启动

TinTinLand

LinkedHashMap 源码分析-访问最少删除策略

zarmnosaj

5月月更

阿里云云原生一体化数仓入选 2022数博会“十佳大数据案例”

阿里云大数据AI技术

数据挖掘 大数据 分布式计算 数据处理 MaxCompute

在RPA立项阶段,银行需要做哪三件事?

易观分析

银行

你会用Apifox写断言吗?

Liam

测试 Postman 自动化测试 测试工具 测试自动化

分享ApiPost的个人体验感受

Xd

后端 API

一个轻量的数据库数据告警器

山河已无恙

Java 数据监控

Apipost 多人多角色实时协作 爆赞!!!

Xd

数据库 后端 接口测试 API

未来3年,远程办公或成普遍现象,如何提高远程办公效率?

WorkPlus

直播预告 | PolarDB-X 动手实践系列——基于 Prometheus + Grafana 的 PolarDB-X 监控体系

阿里云数据库开源

数据库 阿里云 开源 PolarDB-X 教学

linux之xargs使用技巧

入门小站

Linux

照亮旷野的,是少年开发者眼中的炬火

脑极体

在线二进制转文本字符工具

入门小站

工具

uniapp 和 HTML5 区别

CRMEB

深度解析:DAO的7种常见投票机制

TinTinLand

他做了跟世界首富同样的选择|ONES 人物

万事ONES

Apipost 6.0.4版本 支持离线使用

Xd

后端 接口测试 API

两分钟带你体验ApiPost的魅力!

Xd

自动化 接口测试 API

乌卡时代来临,企业供应链管理体系的应对策略

数商云

数字化转型 供应链

用开源github,还是咱中国自己的代码托管平台云效?

阿里云云效

GitHub 云计算 阿里云 代码管理 代码托管

月薪 30K 以上的程序员都在学啥?附书单合集

C++后台开发

后端开发 Linux服务器开发 C++后台开发 Linux后台开发 后端开发书籍

leetcode 34. Find First and Last Position of Element in Sorted Array 在排序数组中查找元素的第一个和最后一个位置(中等)

okokabcd

LeetCode 查找

喜讯|旺链科技成为TBI数字藏品项目组首批成员

旺链科技

区块链 产业区块链 数字藏品

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