Emscripten


Emscripten is a source-to-source compiler that runs as a back end to the LLVM compiler and produces a subset of JavaScript known as asm.js. It can also produce WebAssembly. This allows applications and libraries originally designed to run as standard executables to be integrated into client side web applications. asm.js can be compiled by browsers ahead of time meaning that the compiled programs can run faster than those traditionally written in JavaScript.
Emscripten has been used to port Unreal Engine 3, SQLite, MeshLab, Bullet physics, AutoCAD, and the Qt application framework, among others.

Usage

Game engines

The Unity, Godot and Unreal game engines provide an export option to HTML5, utilizing Emscripten.

Frameworks &; toolkits

exports native C++ applications to HTML5 via Emscripten. emscripten-qt allows you to compile applications written for the Qt application framework into JavaScript.

Software archiving

In December 2014, the Internet Archive launched a DOSBox emulator compiled in Emscripten to provide browser-based access to thousands of archived MS-DOS and PC programs.