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

 

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中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(Eclipse RAP 2.0发布——首词相同,含义不同)