Curl 真的胜过 Flex 3 吗?

  • Moxie Zhang
  • 张凯峰

2008 年 6 月 12 日

话题:Java语言 & 开发

最近 Curl 公司在成为最前沿的 RIA 竞争者的努力过程中,宣布了 Curl RIA 平台 6.0 与 Adobe Flex3.0 的性能基准测试对比的结果,结果显示 Curl 语言以比 Adobe Flash Player 运行时语言 ActionScript 3 快 8 倍的优势而胜出。



在过去的三个月里,Curl 公司发布了一系列 RIA 技术,致力于帮助开发者设计出新型、复杂、基于 Web 的业务应用程序。这些 RIA 包括一个开源的 Web-services 开发包对 Ubuntu 的支持,和专门针对 Mac 的运行时环境。因此,对于那些期望可以高效构建具备可扩展性能的关键 RIA 应用的开发者来说,这份测试的结果是尤为重要的。

关于测试结果,Curl 这样描述到:

测试的结果显示 Curl 在原始执行速度上保持着一定的优势,这主要是由两个平台的编程语言的巨大差异造 成的。而这是两个平台编程语言最显著的不同。架构本身决定了 Curl 语言可以编译成高效的代码,而 Adobe 的 ActionScript 却做不到这一点。 Curl 语言的架构可以支持编译高效的代码,而 Adobe 的 ActionScript 不是。最终的结果就是 Curl 在构建企业 RIA 方面有着优越的性能。

Curl 的技术,尤其在客户端,运行的方式跟基于 Flash 的技术是类似的。对于桌面应用程序,或者基于浏览器应用的插件, 都会需要一个运行时引擎。Curl 公司的副总裁和首席架构师解释说:“Curl 被设计成一个非常强大的高效率的语言及平台,我们一直对这样无匹敌的能力感 到骄傲。这个测试的结果是最好的证明,而且我们也会继续深入研究扩展这种能力,来记录 Curl 在构建企业 RIA 方面的辉煌成就。

然而,Adobe 的 Flex 技术传播者 Ted Patrick 并不同意这个测试的结果。他说:
乍一看这个测试结果会让人觉得印象深刻:WOW!要比 ActionScript 快上八倍!但是,当深入 研究过以后,你会发现这基本就是不相关的。首先让我动摇的就是测试的基准是基于对一个 JPG 图像进行编码;不是对 JPG 进行展现或者是上传,而是遍历每个 像素并转换成另外一种图像类型。

根据 Patrick 所述,仅仅是 JPG 的编码并不能代表全部:

我们在 Flex 框架中同样支持编码来实现图像转换,但这根本就不是个主流特性。Flash Player 支持在运行时直接进行图像转换,因此你可以在 Flash Player 中从任何内容创建图像生成本地对象。根本就没有必要把这些内容编码成 JPG。而且,速度还要快一点。实际上,它还要比 Curl 的结果快上一个 数量级。

Patrick 还就代码执行给出了自己的观点:

我还看了其他针对 Flash Player 的运行时测试基准,但它们只是做了类似真空条件下的性能测试,而没考虑到扩展性、呈现性能、跨平台和兼容性等方面。每个开发者都想使用最快的 语言,但现实往往是安装兼容性最好的语言最终胜出。JavaScript 和 ActionScript 正在得到快速的采用,是因为它们应用的更广泛,而不是 因为它们打破了图像编码的速度记录。

虽然围绕这个测试结果有着诸多争论,Curl 毫无疑问正在成为 RIA 舞台有力的竞争者。智能企业的 Nelson King 写道:“Curl 创造了最终能和 Micorsoft Silverlight 和 Adobe Falsh/AIR 构建的应用相竞争的应用,尤其是在企业应用方面。”而且,当 Curl 发布它的桌面产品 Nitro 时,计算机世界的 Heather Havenstein 报道说:“Curl 是最新的致力于扩展离线 RIA 业务的厂商,这样用户就可以扩展富用户接口,并加快 RIA 在桌面上的加载时间。其他 类似的产品有GoogleGoogle Gears技术, MozillaPrism 软件AdobeAdobe Integrated Runtime (AIR)。”

InfoQ 将会进一步关注 RIA 技术领域的竞争走向。

查看英文原文:Does Curl Outperform Flex 3?

Java语言 & 开发