QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Eclipse RAP 2.0 发布——首词相同,含义不同

  • 2013-03-06
  • 本文字数:2344 字

    阅读完需:约 8 分钟

2013 年 1 月 11 日,在经过 6 年的开发后, Eclipse RAP 2.0 终于发布。在这期间,项目已经完全跟 Eclipse 平台整合,并支持基于 Ecipse 4 上的多用户界面。

Eclipse Rich Application 平台最初由 Innoopract,也就是现在的 EclipseSource 发起,是一个对 RCP、SWT 和 JFace 类库重新实现的构建富客户端的平台。SWT 的 RAP 实现生成的 Javascript 是通过 qooxdoo 的 widget 在浏览器中渲染的,而不是通过本地图形设备渲染。在服务器和客户端之间的状态同步是通过使用 HTPP 长连接的方式进行更新。在 Vaddin 的实现中,也使用了类似的概念,Vaddin 的服务端是由 SWT 实现,并通过 GWT 提供 Javascript Widgets 的实现。

然而,RCP 的一些功能限制在 RAP 1.0 中没有解决。比如 Eclipse RCP 无法处理多用户的情况(译注:指的是多用户界面及 i18n 问题的情况),这对于一个 web 应用来说十分常见。在 Eclipse 4 的开发中,这些限制都得到修正,允许 RAP 提供统一的 API 给任意类型的客户端实现。

随着 Eclipse RAP 2.0 的发布,RAP 将名称从 Rich Ajax Platform 更改为 Remote Application Platform。新的名称的改变反映出其概念已经转变为能适合任何远程服务器客户的平台,这从 1.5 版本起已经开始了,来自 Eclipse Source 的 Ralf Sternberg 在他关于 RAP 2.0 的系列博客文章中有提及。在 1.0 版本中,服务端的组件和浏览器之间通过 Javascript 通讯,现在则可以使用公开的 JSON API。在 RAP 2.0 中,客户端不再限制使用 Javascript,甚至可以使用本地的实现,如 Tabris ,它提供 iOS 和 Android 用户界面的实现。

InfoQ 采访了 Eclipse RAP 的项目负责人 Ralf Sternberg,了解关于项目的下一步计划:

InfoQ:首先祝贺 RAP 2.0 的发布。很高兴看到很多在 RAP 1.0 中的问题都通过 Eclipse 平台和 RAP 团队得到了解决。你认为解决了的最大问题是什么,两者之间是如何合作的?

“谢谢。回首在 1.0 版本的日子,RAP 是一个很酷的全新项目,能在浏览器中运行 RCP 应用。经过多年的发展,项目已经变得成熟,现在已经成为 Eclipse 平台的一部分。这让我们提高了在 Eclipse 社区中服务端应用的竞争意识。

这些挑战中最明显的是应对多用户的处理。举个例子,当使用不同语言的用户同时访问应用时,如果保存某个字符串的译文效率是很低的。多用户访问的需求导致 RAP 最终在 Equinox 和在 JFace 的对话框框架中必须支持本地化。

看下今天的 Eclipse 平台,很高兴看到服务端的需求已经影响着新一代 Eclipse 平台,即 E4 的设计。服务端应用通常需要更多关注如何解耦,线程安全和性能。随着技术的发展,我想这些实践将成为每一个现代应用的标准。”

InfoQ 你认为 RAP 最适合什么类型的项目?使用 RAP 2.0 的话能带来怎样的改善?

“目前,开发者正面临应用程序必须支持越来越多平台的形势。五年前,要支持的平台一直是桌面和浏览器。如今,手机和平板电脑正取而代之。每个平台都需要不同的开发工具和专业知识。这正是我们要面对和解决的问题,我们的理念是单一的应用能适应不同的平台。

在 RAP 2.0 中,我们推出了能将客户端和任何相关的计算平台通过开放的协议连接的选项。在 EclipseSource 中,我们提供了一种方法,让开发者可以通过使用“Tabris"这个开源项目,构建本地原生的 iOS 和 Android 客户端。新的协议能让任何人都可以开发其他平台的 RAP 客户端。在这样的开发模式下,RAP 继续提供“一次编写,随处运行”的平台。

因此,RAP 最适合那些正在寻找一个可持续开发的,包括即使在将来的平台中依然能重用代码的项目。这种需求在企业中是最常见的。”

InfoQ 将来的计划是怎样的?你是在关注像 Vaadin 那样的技术么?你是如何看待 RAP 的地位?

“当然,我们也在关注在服务端 UI 领域的其他项目。有一些真正令人印象深刻的单页应用程序的框架,我们正使用它们作为基准以改善 RAP 的外观。我们仍然看到一些改善的空间,我们将和用户一起逐步解决这些问题。最近的一个例子是为安联保险设计了一个新的动态下拉框。

在不久的将来,我希望看到 web 客户端更广泛地使用自定义部件。RAP 2.0 提供了一种简单的客户端 API,使开发自定义 widgets 和插件更容易。插件组现在可以使用任何的 JS 库去编写,而不再依赖于 RAP 的内核。这种可扩展性对我们的来说是宝贵的财富,我们将继续予以改善。

然而,令 RAP 与其他框架不同的是,它可以超越 HTML5。据我所知,RAP 是唯一一个能实现一次编写,能跨平台运行的框架。浏览器是运行的一个选项,使用原生 widgets 开发的原生应用和原生的导航概念等都是功能相当强大的。

RAP 的另一个重要特点是支持构建模块化的应用程序。RAP 建立在 OSGi 之上,并且是 Eclipse 的一个项目,它能与 Eclipse 中如 EMF、EclipseLink 或 Eclipse 数据绑定技术完美地集成。使用 JFace 可以很容易将 UI 和数据模型绑定。我们认为,模块化是现代应用程序的关键。”

InfoQ::有什么建议给要升级项目的开发者?

“你要知道的是,RAP 2.0 不兼容 1.X 版本,因为我们利用这次发布机会加强了我们 API 的功能。不过,我还是建议升级到 RAP 2.0,因为 2.0 版本中有一些很大的改进,比如改进了的新的事件处理系统和服务端反向推送系统。我已经看到有些项目正在进行快速的迁移,并且没出现问题。我们在网页上提供了迁移指导来帮助项目的升级。”

其中,RAP 2.0新特性和注意迁移手册已经发布,在准备升级前应该仔细阅读。

本文作者Fabian Lange 是《Eclipse Rich Ajax Platform 1.0 》一书作者。

原文链接: Eclipse RAP 2.0 Released - Same Acronym, Different Name


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-06 03:142624
用户头像

发布了 81 篇内容, 共 25.6 次阅读, 收获喜欢 5 次。

关注

评论

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

使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜

谁说前端已死,低代码没干掉我,chatGPT又如何!| 社区征文

花花

三周年征文

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

做梦都在改BUG

Java MySQL 数据库

ShareSDK 钉钉平台注册指南

MobTech袤博科技

2023年免费堡垒机排行榜(仅供参考)

行云管家

安全运维 运维安全 免费堡垒机

深入理解shims-vue.d.ts和declare module

Lee Chen

JavaScript

去哪儿网企业级监控平台-Watcher

Qunar技术沙龙

去哪儿网 监控平台

以最大速度将数据迁移至AWS S3存储

镭速

美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目

做梦都在改BUG

Java Netty

【等保一级】等保一级一般适用于哪些信息系统?

行云管家

等保 等级保护 等保一级

如何利用 AREX 在本地快速复现线上问题

AREX 中文社区

自动化测试 接口测试 代码复现

GaussDB(DWS)字符串处理函数返回错误结果集排查

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

matlab实现通信原理

袁袁袁袁满

三周年连更

机器人SLAM,三维人工智能的核心技术!

博文视点Broadview

惊艳!阿里自爆用480页讲清楚了44种微服务架构设计模式

做梦都在改BUG

Java 架构 微服务 设计模式

景区共享电动车合作找厂家要注意什么

共享电单车厂家

共享电动车厂家 校园共享电单车 景区共享电动车 共享电动车合作

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队

京东科技开发者

ES 京东云 企业号 5 月 PK 榜

Istio数据面新模式:Ambient Mesh技术解析

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

软件测试/测试开发丨Pytest 参数化用例

测试人

软件测试 自动化测试 测试开发 pytest

分布式场景下,如何对外提供易变的服务,打造可靠的注册中心?

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

IM开发者的零基础通信技术入门(十二):上网卡顿?网络掉线?一文即懂!

JackJiang

网络编程 即时通讯 IM

揭秘镭速传输点对点传输技术,NAT+Raysync强强组合

镭速

1分钟学会、3分钟上手、5分钟应用,快速上手责任链框架详解 | 京东云技术团队

京东科技开发者

Netty 京东云 企业号 5 月 PK 榜

MySQL一次大量内存消耗的跟踪

GreatSQL

使用MASA全家桶从零开始搭建IoT平台(二)设备注册

MASA技术团队

IoT mqtt

路由器的后台管理界面的IP地址为什么都是192.168开头?

wljslmz

网络 三周年连更

前端配置化表单组件设计方法 | 京东云技术团队

京东科技开发者

前端 表单设计 配置化 企业号 5 月 PK 榜

数据导向下制造业的生产效率、交易效率提升办法

镭速

面向万物智联的应用框架的思考和探索(下)

HarmonyOS开发者

HarmonyOS

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

做梦都在改BUG

Java 数据库 nosql redis 缓存

字节Java程序性能优化宝典开源,原来这才叫性能优化

做梦都在改BUG

Java 性能优化 性能调优

Eclipse RAP 2.0发布——首词相同,含义不同_Java_Fabian Lange_InfoQ精选文章