Webassembly 现在的能力和以后的能力


现在基本就是 asm.js 的翻版:http://webassembly.org/docs/mvp/
  • WebAssembly 中的可分发,可加载和可执行的代码单元称为模块。
  • WebAssembly 代码在模块中的行为是根据结构化堆栈机器的指令指定的。
  • WebAssembly 二进制格式被设计为由 WebAssembly 实现本地解码,被指定为模块结构和代码的二进制编码。
  • WebAssembly 文本格式被设计为在使用工具(例如,汇编器,调试器,分析器)时被读取和写入,被指定为模块结构和代码的文本投影。
  • WebAssembly 旨在通过Web浏览器和完全不同的执行环境来实现。

Garbage collection // 让有 GC 高级语言(such as Dart or Kotlin)也能编译成 wasm
Fixed width SIMD/Relaxed SIMD
线程 // Worker + SharedArrayBuffer,C++ pthread,rust std::thread

  • 加快访问 DOM 的速度 // 可以同时指定指针和长度
  • Wasm interface types // 直接在 wasm 中使用 js 对象
  • Wasm 实现 WebIDL // WebIDL 类型的 Wasm 表示