返回 登录
0

谷歌、微软、苹果与Mozilla联合宣布WebAssembly——Web时代的汇编语言

阅读35610

JavaScript曾被称为Web上的汇编语言,不过顶在JavaScript头上的这个称谓可能要换主人了。Google、Microsoft、Mozilla联合宣布WebAssembly——“Web时代的汇编语言”——一种全新的跨浏览器Web中间表示层安全代码。来自WebKit项目的工程师也参与其中。

WebAssembly简称为“wasm”,以.wasm为文件后缀名,遵循全新的二进制语法。短期内它将与asm.js共存,不过在未来,一旦浏览器开始原生支持WebAssembly语法,WebAssembly将会独立发展,作为通用对象层格式(common object-level format)应用在多个层级的编程语言中。

Asm.js原本已经相当优秀,但在引擎对其优化时,语法分析器将变成“热点”影响性能(分析前解压缩时),尤其在移动设备上,这一问题相当突出。另外,即使只有一个子集用于asm.js,JavaScript语言本身仍存缺陷。

而WebAssembly的二进制格式再对应的解码环节,要比JavaScript快得多,WebAssembly将把JavaScript从那些它并不擅长的应用领域中解放出来。但至于是否要取代JavaScript,项目开发者表示“WebAssembly设计目的在于成为JavaScript一部分,而非替代品。在可预见的时间内,WebAssembly会与JavaScript在很多方面并存、共用。而WebAssembly将把JavaScript从那些它并不擅长的应用领域中解放出来,这是种双赢。”

WebAssembly初期专注在C/C++上,未来也会在ES6模块接口层面整合JavaScript。所以,对于Web开发者来说不必担心不会C++。

WebAssembly目前仍处于设计阶段,感兴趣的开发者可阅读相关文档:https://github.com/WebAssembly/design

==
更新:之前的新闻中没有提及参与本次项目的WebKit项目工程师,已经增加该信息。

评论