История изменений
Исправление
Legioner,
(текущая версия)
:
wasm в браузере это вообще ничему не замена. Всё, что он позволяет, это запускать код с более предсказуемой производительностью. По сути это всё можно делать и на JS, но писать код на JS, который не будет дёргать GC и будет компилироваться в высокопроизводительный машинный код это очень нетривиальная задача (но решаемая, ту же криптографию на JS писали и она работает быстро). В случае wasm такой код писать это как раз тривиальная задача. Т.е. если забыть про производительность, то C++-код Emscripten-ом в JS компилировать можно было сто лет назад и оно прекрасно работало, но людям хотелось чуть быстрей. Firefox пробовал asm.js, который предполагал совместимость с JS, но в итоге всё же взлетел wasm.
В плане доступа к чему-либо wasm не просто ничего не добавляет, у него вообще почти весь доступ наружу идёт через JS-обвязку. Впрочем обычно это не является проблемой.
Исправление
Legioner,
:
wasm в браузере это вообще ничему не замена. Всё, что он позволяет, это запускать код с более предсказуемой производительностью. По сути это всё можно делать и на JS, но писать код на JS, который не будет дёргать GC и будет компилироваться в высокопроизводительный машинный код это очень нетривиальная задача (но решаемая, ту же криптографию на JS писали и она работает быстро). В случае wasm такой код писать это как раз тривиальная задача. Т.е. если забыть про производительность, то C++-код Emscripten-ом в JS компилировать можно было сто лет назад и оно прекрасно работало, но людям хотелось чуть быстрей.
В плане доступа к чему-либо wasm не просто ничего не добавляет, у него вообще почти весь доступ наружу идёт через JS-обвязку. Впрочем обычно это не является проблемой.
Исходная версия
Legioner,
:
wasm в браузере это вообще ничему не замена. Всё, что он позволяет, это запускать код с более предсказуемой производительностью. По сути это всё можно делать и на JS, но писать код на JS, который не будет дёргать GC и будет компилироваться в высокопроизводительный машинный код это очень нетривиальная задача (но решаемая, ту же криптографию на JS писали и она работает быстро). В случае wasm такой код писать это как раз тривиальная задача.
В плане доступа к чему-либо wasm не просто ничего не добавляет, у него вообще почти весь доступ наружу идёт через JS-обвязку. Впрочем обычно это не является проблемой.