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++。