写点什么

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

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

关注

评论

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

如何添加字体?

InfoQ IT百科

现在常用的在线协作文档软件有哪些?

InfoQ IT百科

做 App 还是小程序好?

InfoQ IT百科

App分发是什么意思?

InfoQ IT百科

TASKCTL 作业流程无触发设计

敏捷调度TASKCTL

大数据 DevOps 分布式 自动化部署 ETL任务

从杀慢查询入手来预防 MySQL 雪崩的办法

Qunar技术沙龙

dba

阿里云 云效一站式研发平台

阿里云云效

阿里云 DevOps 云原生 研发 一站式研发平台

有哪些好用的代码编辑器?

InfoQ IT百科

有哪些比较靠谱的低代码开发平台?

InfoQ IT百科

现在常用的视频会议软件有哪些?

InfoQ IT百科

WPS是什么软件?

InfoQ IT百科

低代码开发平台能开发哪些应用?

InfoQ IT百科

2022鲲鹏开发者创享日即将扬帆起航 与开发者共创未来共享非凡成就

科技热闻

App怎么做灰度发布?

InfoQ IT百科

移动App的设计流程是怎样的?

InfoQ IT百科

如何优雅高效地管理公司文档?

小炮

文档 文档管理

注册域名后,怎么创建个人网站?

InfoQ IT百科

WordPress 是什么?

InfoQ IT百科

Java篇-序列化与反序列化

是老郭啊

Java 对象 序列化 反序列化

如何部署自己的网站?

InfoQ IT百科

软件激活码是什么?

InfoQ IT百科

怎么做App分发?

InfoQ IT百科

怎么做SEO网站优化?

InfoQ IT百科

怎么让网站在搜索结果中排更前?

InfoQ IT百科

主流的网站服务器架构有哪些?

InfoQ IT百科

WPS有哪些隐藏的使用小技巧?

InfoQ IT百科

一个WPS账号可以在多个设备同时登陆吗?

InfoQ IT百科

使用WPS需要注册/登录账号吗?

InfoQ IT百科

有哪些适合程序员用的笔记应用?

InfoQ IT百科

如何修改电脑文件格式?

InfoQ IT百科

目前WPS支持在哪些设备上使用?

InfoQ IT百科

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