Ситуация сейчас такая:
Было:
ActionScript > Adobe SDK (компилятор) > SWF-файл (байт-код) > HTML4 object/embed (элемент) > Flash Player (Adobe плагин)
Стало:
C-подобные > Emscripten (компилятор) > Wasm-файл (байт-код) > HTML5 canvas+script (элемент) > WebGL (без плагина)
JS-подобные > HTML5 canvas+script (элемент) > WebGL API
Как правило, что-то с GUI, типа Unity, использует экспорт через emscripten в wasm (+ в asm.js как fallback). А что-то без GUI, типа three.js, используется соответственно javascript/typescript.
WebAssembly (wasm) - в целом вроде как производительнее, но размер может быть больше, хотя зависит от движка.
На второй вопрос ответили выше.
|