Google, Mozilla и Microsoft, а также команда разработчиков WebKit объединили усилия в проекте WebAssembly, цель которого – создать новый стандарт для веба, который будет доступен в браузерах будущего. Это может повлиять на скорость работы сайтов – инициаторы проекта обещают, что она вырастет как минимум в 20 раз.
Годами разработчики пытались преодолеть ограничения JavaScript, создавая компиляторы, которые переводят коды на других языках в JavaScript. Одни из этих проектов (как Microsoft TypeScript) сосредоточены на том, чтобы добавить новые функции, другие – на увеличении скорости работы (как Mozilla asm.js). Сейчас команды всех этих проектов начинают работать вместе в рамках WebAssembly.
Основная идея в том, чтобы создать способ обработки веб-страницы браузером, более эффективный, чем полный парсинг кода веб-страницы или приложения. С наработками WebAssembly разработчики смогут писать код сайта на C, C++, позже – на других языках, а затем компилировать его в бинарный исполняемый файл.
Бинарные файлы WebAssembly – как правило, достаточно небольшие, меньше, чем большая часть JavaScript-кода. А значит, скорость загрузки сайтов в такой сети будет выше. К примеру, веб-игра AngryBots требует загрузки около 19 Мб JavaScript-кода, но только 6,3 Мб – если код предоставляется в бинарной форме.
Стандарт WebAssembly – все еще на очень ранней стадии разработки, только началась работа над его спецификациями, но при поддержке разработчиков основных браузеров у проекта есть все шансы реализоваться. Больше информации о проекте можно узнать в посвященном ему разделе на GitHub.