asm.js
Sottoinsieme rigoroso di JavaScript ottimizzato per la compilazione AOT. Mozilla, 2013. Annotazioni di tipo tramite codici (x|0 = intero, +x = double). Precursore di WebAssembly.
L'idea: compilare C/C++ in asm.js con Emscripten ed eseguirlo nel browser a velocità quasi nativa. Dimostrazione: nel 2013 Epic Citadel (Unreal Engine 3) girava nel browser. I browser (inizialmente tutti tranne Edge) aggiunsero ottimizzazioni dedicate. Da asm.js a WebAssembly: stesso gruppo, stessa idea, ma con un formato binario anziché un sottoinsieme di JS. WebAssembly (2017) ha reso asm.js superfluo. Sopravvive solo in vecchi benchmark e in qualche demo di Mozilla.