谷歌微软Mozilla 等联手推出 WebAssembly

Posted 火狐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷歌微软Mozilla 等联手推出 WebAssembly相关的知识,希望对你有一定的参考价值。

新朋友点击上方「蓝色 火狐」可快速关注



谷歌、微软、Mozilla 和 WebKit 项目 工程师今天宣布,他们已经联手推出了 WebAssembly,这是一个用于编译网页应用的新二进制格式 。

Web 依靠其标准取得了很大的进展,且无论好坏与否,javascript都是它的编程语言。但在过去几年,我们看到越来越多的项目问世,它们试图通过开发编译程序,将其他语言代码转化为JavaScript,以此让开发者克服JavaScript 自身存在的一些短板。其中一些项目专注于给编程语言增加新的功能,比如微软的TypeScript,或是加快JavaScript的发展速度,例如 Mozilla 的 asm.js 项目。如今,众多此类项目开始联合起来,以WebAssmbly的形式出现在大家面前。

这种新的格式旨在让编程人员为浏览器编译代码(目前浏览器的专注点是 C/C++,其他语言的重要性次之),然后在JavaScript引擎内进行执行。由于不必解析完整的代码——这种操作往往会耗费相当长的一段时间(尤其是在移动端),因此WebAssmbly被解码的速度可以大大加快。

WebAssmbly团队的想法是,这种新的二进制格式将向开发者提供单一的 Web 编译目标,最终成为一种可在所有浏览器中执行的 Web 标准。

在默认环境下,JavaScript文档其实就是简单的文本文件,先是从服务器下载,然后由浏览器中的JavaScript引擎解析并编译。WebAssmbly团队之所以决定推出新的二进制格式,原因有两个,一是代码可以被压缩为其他的文本文件,而不仅限于标准的JavaScript文本文件,二是相比解析 asm.js 代码,JavaScript引擎破译二进制格式的速度要快得多——在当前的原型标准下,最多快了 23 倍。

长期以来,Mozilla asm.js 旨在将接近于本地的速度带给 Web。而旨在在浏览器中运行本地代码的谷歌 Native Client项目 ,也具有类似的目标,只是影响力相对较小。看起来,WebAssmbly如今可以将这些项目中最好的元素融入浏览器。

作为第一步,WebAssmbly团队的目标是提供与 asm.js 相同的功能性,开发者将可以在 WebAssmbly上面使用相同的Emscripten工具,就像他们今天使用这种工具编译 asm.js 代码一样。

在早期阶段,WebAssmbly团队还计划推出一个所谓的polyfill库 ,用以将WebAssmbly代码转化为JavaScript,这样就能运行于任意浏览器上——甚至是没有获得本地 WebAssmbly支持的浏览器上(很显然,这有点荒谬,但如果浏览器可以在本地运行这种代码,那么最后一步就不需要了)。随着时间的推移,WebAssmbly团队还将开发更多的工具(比如编译程序和调试程序等),同时支持更多的语言(例如 Rust、Go 和 C#)。

正如“JavaScript之父” 布兰登·艾奇(Brendan Eich)在今天所指出的,一旦主要的浏览器全都能在本地支持新的二进制格式,那么WebAssmbly和JavaScript就可以再次分离。艾奇曾担任过 Mozilla 首席执行官,但在任职 10 天后即被迫辞职。

WebAssmbly 团队还指出,他们推出WebAssmbly不是为了取代 JavaScript,而是为了让更多的语言可以支持 Web 编译。实际上,JavaScript和WebAssembly很有可能会被开发者同时使用,例如,某款应用的部分元素可能会使用WebAssembly模块(如动画、可视化和压缩等),而用户界面仍然可以主要使用JavaScript语言编写。

我们很少看到所有主要的浏览器厂商携手推出像WebAssembly这样的项目,所以,他们的合作会带来什么样的成果,肯定值得我们在未来几个月乃至几年保持关注。


题图来源: 迈克尔·希姆比奥特(MICHAEL HIMBEAULT)/FLICKR,根据 CC BY 2.0 协议授权

本文内容转载自 TechCrunch中国,原文链接:http://techcrunch.cn/2015/06/20/google-microsoft-mozilla-and-others-team-up-to-launch-webassembly-a-new-binary-format-for-the-web/





火狐

Mozilla Firefox

firefox.com.cn

↓↓↓ 点击【阅读原文】加入火狐社区



以上是关于谷歌微软Mozilla 等联手推出 WebAssembly的主要内容,如果未能解决你的问题,请参考以下文章

微软Facebook联手发布AI生态系统,CNTK+Caffe2+PyTorch挑战TensorFlow

微软英伟达联手推出语言模型 MT-NLP,5300亿参数,现存最大!

苹果微软谷歌三巨头联手,“杀死”密码

苹果微软谷歌三巨头联手,“杀死”密码

苹果微软谷歌三巨头联手,“杀死”密码

Mozilla 向谷歌微软苹果开炮,放开你们的垄断行为,让用户自由选择