WebAssembly 介绍


WebAssembly | MDN (mozilla.org)

WebAssembly完全入门——了解wasm的前世今身 - 知乎 (zhihu.com)

1. WebAssembly 

WebAssembly 或者 wasm 是一个可移植、体积小、加载快并且兼容 Web 的全新格式

WebAssembly是一个编译目标

WebAssembly的前身是asm.js,asm.js不是用来给各位用手一行一行撸的代码,asm.js是一个编译目标,asm.js解决了JS中的类型变换问题,静态类型的问题做的再好,它始终逃不过要经过Parser,要经过ByteCode Compiler,而这两步是JavaScript代码在引擎执行过程当中消耗时间最多的两步。而WebAssembly不用经过这两步。这就是WebAssembly比asm.js更快的原因。

2015年,我们迎来了WebAssembly。WebAssembly是经过编译器编译之后的代码,体积小、起步快。在语法上完全脱离JavaScript,同时具有沙盒化的执行环境。WebAssembly同样的强制静态类型,是C/C++/Rust的编译目标

2. Wasmer--WebAssembly Runtime

开源WebAssembly Runtime专案Wasmer发布1.0版本,这是一个讲究性能,可让WebAssembly超轻量容器在任何客户端上执行的Runtime,包括桌面、云端到物联网设备