写点什么

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

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

关注

评论

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

玩转 ChatGPT+极狐GitLab|分分钟丝滑迁移Jenkins到极狐GitLab CI

极狐GitLab

ci DevOps jenkins CI/CD 极狐GitLab

解密COUNT(*)与COUNT(1):SQL查询你选哪个更高效?

Java你猿哥

Java sql 后端 ssm Java工程师

一文告诉你如何一键复现“TSBS 时序数据库性能基准测试报告”测试结果

TDengine

tdengine 性能测试 时序数据库

在GitHub首页3分钟被下架!爱奇艺《高并发网关设计》笔记被盗?

Java 负载均衡 高并发 网关设计

开源即巅峰!《Java程序性能优化实战》GitHub三小时标星已超34k

Java 性能优化 性能调优

夜莺n9e监控配置支持电话短信报警

外滩运维专家

夜莺监控 电话报警 短信报警 夜莺监控电话

官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南

码界西柚

Java JVM 3月日更 XPocket 技术 优化体系

IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

JackJiang

即时通讯 即时通讯IM

DaVinci Resolve Studio 18(达芬奇调色剪辑)中文版

Rose

达芬奇18破解版

GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k

Java 架构 微服务 Spring Cloud

面试必问:JVM 如何确定死亡对象?

Java 面试 JVM

Alibaba官方上线!Java并发编程全彩图册(终极版)GitHub已置顶

Java 并发编程 多线程 高并发

龙蜥白皮书精选:面向异构计算的加速器 SDK

OpenAnolis小助手

开源 sdk 异构计算 加速器 龙蜥白皮书

连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发

NebulaGraph

Python ORM 图数据库

如何使用责任链默认优雅地进行参数校验?

苹果发布macOS Ventura 13.3正式版更新

Rose

mac系统 苹果最新系统 macOS Ventura 13.3

阿里P7架构师的独家分享——SpringCloud 微服务实战笔记

Java你猿哥

Java 架构 微服务 Spring Boot 面经

mac电脑能恢复安卓手机丢失的数据吗?

Rose

mac电脑 安卓数据恢复

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

鳄鱼视界

视频下载出来为网页格式?如何将视频转换为mp4格式?

Rose

视频格式转换 Mac视频格式转换 视频下载出来为网页

MobTech 秒验|防控羊毛党

MobTech袤博科技

警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

Java你猿哥

Java 架构 面试 面经 春招

裸辞跳槽底气!字节在职大佬“Java面试总汇2023”大厂都在考

Java你猿哥

Java 面试 ssm 面经 Java工程师

Mac版cad2024发布 AutoCAD 2024 注册机

Rose

Mac软件 cad cad2024激活版 Autodesk AutoCAD

MobTech MobLink|场景分享的原理

MobTech袤博科技

灵魂拷问:你写的SQL一般有几个JOIN ?​

Java你猿哥

Java sql 后端 ssm join

互联网工程师1480道Java面试题及答案整理( 2023年 整理版)

Java你猿哥

Java 面试 面经 春招 Java八股文

基础篇丨链路追踪(Tracing)其实很简单

阿里巴巴云原生

阿里云 云原生 Tracing

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