Разработчики из Mozilla, Microsoft, Google работают над увеличением скорости обработки страниц браузерами

Инновации >> 21.06.2015
Разработчики из Mozilla, Microsoft, Google работают над увеличением скорости обработки страниц браузерами

Команда разработчиков браузеров из Mozilla, Microsoft, Google совместно с инженерами из WebKit сообщили о начале нового проекта WebAssembly, направленного на увеличение скорости загрузки страниц веб-браузеров. Кампания будет реализована под руководством Консорциума Всемирной паутины, которая занимается разработкой стандартов для интернет-пространства.

WebAssembly представляет собой двоичный компилятор унифицированного образца. Он создан для исполнения движком jаvascript, встроенным в браузер, различного кода, скомпилированного из различных языков программирования.

Бинарный формат обладает рядом преимуществ. Одним из главных является обеспечение большей степени сжатия файлов jаvascript, и соответственно, к загрузке меньших объемов данных из сети.

Кроме того jаvascript-движок обеспечивает в десятки раз более быстрое преобразование двоичного кода, а значит, позволит увеличить скорость загружаемых веб-страниц, в частности, на мобильных девайсах. Сейчас прототип WebAssembly показывает ускорение обработки кода в 23 раза по сравнению с кодом asm.js.

До этого времени разработчики пытались обойти ограничения компиляции программного кода в jаvascript по-своему. Влиятельные компании создавали свои способы решения проблемы: Mozilla для ускорения работы jаvascript создала подмножество asm.js, Microsoft, чтобы расширить функционал, создала язык TypeScript, а Google – Native Client. Совместная разработка названных представителей призвана объединить в одном продукте все существующие наработки и создать условия для компиляции одним браузером большего количества языков.

На первом этапе будет выпущена библиотека для трансляции кода WebAssemlby в jаvascript, что позволило бы запускать его в различных браузерах. В будущем планируется разработать дополнительные инструменты и добавить поддержку других языков, кроме первоочередных C/C++.