Google, Apple и Mozilla придумали, как ускорить браузеры в 20 раз

Ведущие разработчики браузеров, включая Google, Apple, Microsoft и Mozilla решили создать новый веб-стандарт, который позволит писать код сайтов на C/C++ и других языках и компилировать их в бинарный исполняемый файл сайта. Нововведение позволит в десятки раз увеличить скорость загрузки страниц.

WebAssembly — это унифицированный двоичный компилятор. Его задача заключается в том, чтобы встроенный в браузер движок JavaScript мог исполнять код, скомпилированный из разных языков программирования, таких как C/C++.

У бинарного формата есть несколько важных преимуществ. Во-первых, он обеспечивает более сильное сжатие JavaScript-файлов, что приведет к скачиванию меньшего объема данных из Интернета. Во-вторых, JavaScript-движок в браузерах декодирует двоичный код в десятки раз быстрее, что скажется на повышении скорости загрузки сайтов, особенно на мобильных устройствах. Прототип WebAssembly уже обрабатывает код до 23-х раз быстрее, чем код asm.js.

Ранее разработчикам приходилось обходить ограничения для комплиляции кода в JavaScript. Каждая крупная компания пыталась решить проблему по-своему. Microsoft, например, создала язык TypeScript, расширяющий функции JavaScript, Mozilla — подмножество asm.js, Google — Native Client. Новый формат призван объединить достоинства этих разработок и сделать так, чтобы для веба могло быть скомпилировано больше языков.

Высокая скорость работы — не единственное преимущество нового стандарта над последовательной компиляцией JavaScript-кода. Бинарный код легче сжимается. Таким образом, переход на новый формат позволит снизить нагрузку на сеть и увеличить скорость доставки веб-файлов в браузер.

На начальном этапе разработчики планируют выпустить библиотеку для трансляции WebAssemlby-кода в JavaScript, чтобы его можно было запускать в любом браузере. Позднее будет выпущено больше инструментов (компиляторов, отладчиков и т.п.) и добавлена поддержка новых языков (Rust, Go, C# и др.).

По мнению создателя JavaScript Брендена Айка (Brendan Eich) — который недолго пробыл генеральным директором Mozilla — после того как все основные браузеры получат поддержку WebAssembly, между WebAssembly и JavaScript произойдет раскол. Однако авторы стандарта подчеркивают, что задача нового стандарта — не заменить JavaScript, а лишь предоставить возможность компиляции кода для веб-сайтов, написанном на большем количестве языках.

Нет комментариев
Добавить комментарий