Eclipse RAP 2.0 发布总结
发布背景
Eclipse RAP 2.0 于 1 月 11 日正式发布,这是经过 6 年开发后的重要里程碑。该项目最初由 Innoopract 创建,现由 EclipseSource 负责,旨在为 Eclipse 4 平台上的多种用户界面提供支持。
项目发展
Eclipse RAP 是对 RCP、SWT 和 JFace 库的重新实现,用于构建丰富的 Web 应用程序。与传统的本地图形设备渲染不同,RAP 的 SWT 实现生成 JavaScript,并通过 qooxdoo 小部件库在浏览器中渲染。服务器和客户端之间的状态更新通过长轮询 HTTP 请求进行同步。Vaadin 也采用了类似的概念,使用 GWT 提供 JavaScript 小部件,并在服务器端模型上实现。
版本 1.0 的局限性
RCP 的一些局限性在 RAP 1.0 中无法克服,例如 RCP 未设计为处理多个用户,这在 Web 应用程序中是常见的。在 Eclipse 4 的开发过程中,这些局限性得到了纠正,使得 RAP 能够为任何类型的客户端实现提供通用 API。
版本 2.0 的主要变化
RAP 2.0 将其名称从 Rich Ajax Platform 更改为 Remote Application Platform,反映了其成为远程服务器任何客户端平台的概念变化。在 1.0 版本中,服务器端组件通过 JavaScript 与 Web 浏览器进行通信,而现在使用公共 JSON API。RAP 2.0 客户端不再仅限于 JavaScript,甚至可以包括原生实现,如提供 iOS 和 Android 用户界面的 Tabris。
项目负责人访谈
InfoQ 采访了 Eclipse RAP 项目负责人 Ralf Sternberg,以下是主要观点:
- 解决的主要问题:RAP 1.0 的主要挑战是处理多用户环境,这导致了 Equinox 中的多语言支持和 JFace 对话框框架的调整。Eclipse 平台的设计也受到了服务器端应用程序需求的影响,更加注重解耦、线程安全和性能。
- 适用项目类型:RAP 2.0 引入了基于开放协议连接任何相关计算平台客户端的选项,特别适合那些寻求可持续开发模型并希望在未来平台上重用代码的项目,这在企业空间中尤为常见。
- 未来计划:RAP 将继续改进 WebClient 的自定义小部件,并利用其超越 HTML5 的能力,提供跨平台单一源代码框架。RAP 的模块化应用程序构建能力是其关键特性,它基于 OSGi 并与 Eclipse 技术(如 EMF、EclipseLink 和 Eclipse Databinding)自然集成。
- 升级建议:RAP 2.0 与 1.x 版本不兼容,但建议尽快升级,因为 2.0 版本在事件处理系统和服务器推送系统方面有显著改进。Eclipse 提供了迁移指南以协助项目升级。
参考资料
有关 RAP 2.0 的新特性和迁移指南,请访问 New and Noteworthy 和 Migration Guide。
Fabian Lange 是《Eclipse Rich Ajax Platform 1.0》一书的作者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。