Команда разработчиков браузеров из Mozilla, Microsoft, Google совместно с инженерами из WebKit сообщили о начале нового проекта WebAssembly, направленного на увеличение скорости загрузки страниц веб-браузеров. Кампания будет реализована под руководством Консорциума Всемирной паутины, которая занимается разработкой стандартов для интернет-пространства.
WebAssembly представляет собой двоичный компилятор унифицированного образца. Он создан для исполнения движком javascript, встроенным в браузер, различного кода, скомпилированного из различных языков программирования.
Бинарный формат обладает рядом преимуществ. Одним из главных является обеспечение большей степени сжатия файлов javascript, и соответственно, к загрузке меньших объемов данных из сети.
Кроме того javascript-движок обеспечивает в десятки раз более быстрое преобразование двоичного кода, а значит, позволит увеличить скорость загружаемых веб-страниц, в частности, на мобильных девайсах. Сейчас прототип WebAssembly показывает ускорение обработки кода в 23 раза по сравнению с кодом asm.js.
До этого времени разработчики пытались обойти ограничения компиляции программного кода в javascript по-своему. Влиятельные компании создавали свои способы решения проблемы: Mozilla для ускорения работы javascript создала подмножество asm.js, Microsoft, чтобы расширить функционал, создала язык TypeScript, а Google – Native Client. Совместная разработка названных представителей призвана объединить в одном продукте все существующие наработки и создать условия для компиляции одним браузером большего количества языков.
На первом этапе будет выпущена библиотека для трансляции кода WebAssemlby в javascript, что позволило бы запускать его в различных браузерах. В будущем планируется разработать дополнительные инструменты и добавить поддержку других языков, кроме первоочередных C/C++.
Источник