WebAssembly or wasm is a new portable, size- and load-time-efficient format suitable for compilation to the web.

Official site: http://webassembly.org/ Presentation slides and transcript: https://wasm.drola.si

Browser support

Internet Explorer: no

Firefox: 52+

Chrome: 57

Safari (WebKit): In development (source)

MS Edge: 15, by enabling “Experimental JavaScript Features” flag (source)

Opera: 44 (source)


Game engines with WebAssembly support

Emscripten: compile C++ to WASM


Installing Emscripten compiler


# Install git cmake build-essential python2.7 nodejs default-jre
sudo apt-get install git cmake build-essential python2.7 nodejs default-jre
wget https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz
tar -zxvf emsdk-portable.tar.gz
cd ./emsdk-portable
./emsdk update
./emsdk install sdk-incoming-64bit #If you are getting "collect2: error: ld returned 1 exit status" error, try running ./emsdk install -j1 sdk-incoming-64bit
./emsdk activate sdk-incoming-64bit
cd emcscripten/incoming
./embuilder.py build binaryen
cd ../..
source ./emsdk_env.sh

WasmExplorer: see C++, WebAssembly and x86 instructions side by side