WebAssembly
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)
Demos
Game engines with WebAssembly support
Emscripten: compile C++ to WASM
http://kripken.github.io/emscripten-site/
Installing Emscripten compiler
#!/bin/bash
# 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