浏览器脚本编程的革命

Posted by admin | 翻译, JavaScript, 新知, 原创, 转载 | 星期一 13 8月 2007 10:43 下午

 原文地址:http://ejohn.org/blog/the-browser-scripting-revolution/

在 OSCON(Oreilly 开放源码大会)、Black Hat(针对 Ajax 安全的会议) 以及 Ajax Experience(Ajax 全球开发者大会) 接二连三召开的背景下,再宣布一个极其重要的消息:两个新的 Mozzilla 项目--IronMonkey 和 ScreamingMonkey 即将投入开发。
 
这两个项目关键的、核心的组件是 Tamarin virtual machine(它是基于 Adobe Flash Player 的 ActionScript Virtual Machine 的开源版)。Tamarin 目前已支持 ECMAScript 3 (因而也支持 JavaScript、ActionScript 和 JScript)并部分地支持即将发布的 ECMAScript 4 规范。

由于这两个新项目仍处于规划阶段,所以这里简单谈谈 IronMonkey 和 ScreamingMonkey 的既定目标。

IronMonkey

IronMonkey 要实现的一个目标是将 Microsoft 的 Common Intermediate Language(CIL)映射为 ActionScript Byte Code(ABC),并允许其他语言实现(比如 IronPython 和 IronRuby)在 Tamarin Virtual Machine 中运行。

 IronPython 和 IronRuby 分别是 Python 和 Ruby 的实现,这两个实现以 C# 编写,运行于 .NET Common Language Runtime(CLR)之上(也可以运行于 Mono 之上)。

IronRuby 基于 Dynamic Language Runtime(DLR)构建……而DLR 未来也将成为 Common Language Runtime(CLR)的一部分……

 总而言之一句话,能够在 Common Intermediate Language 之下编译的这两个现有的 Python 和 Ruby 实现,将来都可以通过 IronMonkey 在 Tamarin 上面运行。

 这可是一个宏大的构想。它意味着 JavaScript 将不再是浏览器中唯一使用 Tamarin 引擎的脚本语言--至少还会再多出两种来。不过,当 IronMonkey 顺利开发完成后,我相信即使出现了在浏览器中运行的 PHP 实现也没有什么可大惊小怪的。

ScreamingMonkey

如果仅凭 Tamarin 可以运行 JavaScript 2、Python 和 Ruby,而这些语言却不能在所有的现代浏览器中运行,那么(即使这将极大地促进基于 Mozilla 平台的开发进程)结果也难以算得上完美(对于普通的 Web 开发公众而言)。而这正是 ScreamingMonkey 诞生的理由。

ScreamingMonkey 是在 Mark Hammond 领导下努力取得的一个成果,它致力于在非 Mozilla 浏览器中运行 Tamarin 引擎,而且以 Internet Explorer 作为开端。

不幸的是,Internet Explorer 开发团队被修改它们自己 ECMAScript 实现(JScript)中的 bug 绊住了脚。为此,在合理的时间范围内,他们实现 ECMAScript 4 的可能性几乎趋近于零(slim to none)。

这个项目的结果将是让开发者能够在 script 标签中引用 ECMAScript 4 或者 JavaScript 2,并借以加载必要的插件以便执行相应的代码。例如:

<script type=”application/ecmascript;version=4″>…</script>

<script type=”application/javascript;version=2″>…</script>

为此一份详尽的“作战计划”已经制定完成,并且将需要投入大量的劳动。最终的结果尚有待于实践的检验,但很可能会以一个独立的 Tamarin 运行时(比如嵌入到另一个分发的版本中<distribution> 中)的形式发布,以便与相关的浏览器啮合。

与 IronMonkey 类似,这同样是一个宏大的计划。这让我们对使用即将到来的 JavaScript 2 会得到跨浏览器支持直接有了现实的把握。虽然距离使用这个特别的项目还有很长一段时间,但最终的结果确实令人充满期待。

且不论这两个项目的结果如何,至少浏览器脚本编程已经开始朝可以预期的方向发展了。而如果这两个项目获得了预期的成功,届时它们对 Web 开发产业所带来的影响将是难以估量的。

发表于:2007年8月8日        相关标签:ruby、python、javascript、ecmascript、tamarin、.net、mozilla

===========
注:本文后面还有很多评论,由于时间的关系,就不再多翻译了。但可以看出,John Resig “有信必复”的精神着实体现出了他的大家风度和严谨作派。
===========

没有评论 »

还没有评论。

对这篇文章的评论的 RSS 聚合。 TrackBack URI

发表您的评论

验证码  If you cannot see the CheckCode image,please refresh the page again!