Не так давно WebAssembly (или короче wasm) получил поддержку в Chrome Canary. В этой демке он действительно показал свою мощь. Но что такое wasm? Вы воспользуетесь им? Захватит ли он Javascript?
Что такое WebAssembly?
Цель wasm — определить переносимый и эффективный двоичный формат, понятный веб-браузерам.
«WebAssembly — это новый переносимый формат, эффективный по размеру и времени загрузки, подходящий для компиляции в Интернет». — WebAssembly.org
Wasm — это, по сути, новый низкоуровневый язык, который вы не пишете, а просто компилируете, если только вы действительно не хотите добраться до «голого металла». Браузер необходимо обновить, чтобы он понимал этот новый формат.
WebAssembly быстрее, чем Javascript?
Javascript — это язык программирования высокого уровня. Язык программирования высокого уровня — это язык, который ближе к человеческому, чем к языку, который компьютер может читать.
Язык программирования высокого уровня — это язык программирования с сильной абстракцией от деталей компьютера — некоторый веб-архив
Языки более высокого уровня менее эффективны, потому что необходимо выполнить больше работы (на компьютере), прежде чем компьютер узнает, что делать. При использовании языка более низкого уровня требуется меньше работы, что сводится к значительному увеличению скорости. Эксперименты показывают, что wasm может работать в 20 раз быстрее, чем Javascript.
Что это значит для Javascript?
Wasm в основном будет использоваться как расширение Javascript, в основном для тяжелых вычислений или если вам просто действительно нужно ускорение. Javascript API позволяет очень легко импортировать и использовать wasm.
«WebAssembly разработан как дополнение, а не замена JavaScript» — WebAssembly.org
Однако язык, компилируемый в wasm, потенциально может заменить Javascript. Первоначально компания Wasm сосредоточила свое внимание на поддержке C / C ++, но и другие языки находятся в списке ожидания, и их приоритет будет отдаваться обратной связи.
С другой стороны, многие разработчики интерфейсов не перейдут на C ++ или что-то еще, просто чтобы оживить свое потрясающее меню. Не волнуйтесь, Javascript останется.
А как насчет поддержки?
В настоящее время wasm поддерживается только в Chrome Canary. Все основные производители браузеров (MS Edge, Chrome, Firefox и WebKit) работают над этим. Это означает, что wasm становится действительно серьезным.
Если вы хотите узнать больше о WebAssembly, перейдите по следующим ссылкам: