Curl真的胜过Flex 3吗?

作者 Moxie Zhang译者 张凯峰

最近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?

留下评论