W3C联盟
WebAssembly 在很多方面与 Asm.js 相似,但不同之处在于它是一种不依赖于 JavaScript 的二进制格式。 WebAssembly 不需要垃圾收集器,因为它使用显式内存管理。 通过将 JIT 用于 WebAssembly,您可以获得接近本机代码的性能水平。 WebAssembly 的主要目标之一是确保可移植性、可预测的行为以及在不同平台上相同的代码执行。 最近 WebAssembly 还
W3C 标准化了与 WebAssembly 相关的三个规范:
-
WebAssembly核心 — 描述用于执行 WebAssembly 中间代码的低级虚拟机。 WebAssembly 相关资源采用“.wasm”格式,类似于 Java“.class”文件,包含静态数据和用于处理该数据的代码段。 -
WebAssembly Web API — 定义了基于 Promise 机制的编程接口,用于请求和执行“.wasm”资源。 WebAssembly 资源格式经过优化,无需等待文件完全加载即可开始执行,从而提高了 Web 应用程序的响应能力。 -
WebAssembly JavaScript 接口 — 提供用于与 JavaScript 集成的 API。 允许您获取值并将参数传递给 WebAssembly 函数。 WebAssembly 的执行遵循 JavaScript 安全模型,所有与主系统的交互都以与执行 JavaScript 代码相同的方式进行。
未来,我们计划为此类 WebAssembly 功能准备规范,例如:
- 具有共享内存和原子内存访问的多线程;
- 基于SIMD的向量运算,允许循环执行的并行化;
- 用于直接从 WebAssembly 代码引用对象的引用类型;
- 能够调用函数而无需在堆栈上花费额外的空间;
- 与 ECMAScript 模块集成 - 能够从 JavaScript 加载 WebAssembly 代码作为符合 ECMAScript 6 规范的模块;
- 垃圾收集模式;
- 调试接口;
-
瓦西 (WebAssembly 系统接口)- 用于与操作系统直接交互的 API(用于处理文件、套接字等的 POSIX API)。来源: opennet.ru