Google, Microsoft, Mozilla совместно с сообществом разработчиков открытого движка WebKit объявили о начале разработки бинарного формата WebAssembly, который позволит делать сайты в виде исполняемых приложений, состоящих из бинарного кода. Сайты в виде исполняемых приложений — первая задача проекта. Вторая задача — создание нового низкоуровневего исполняемого кода для выполнения в браузере приложений, как замены распространенному языку JavaScript.
Предполагается, что с помощью WebAssembly разработчики смогут создавать исполняемые части сайте не только при помощи JavaScript, но и на C/C++, Rust, Go, C# и на других языках, просто компилируя исходный код в исполняемый файл сайта.
Сейчас программы на JavaScript представляют собой простые текстовые файлы, которые при открытии страницы загружаются с веб-сервера на компьютер пользователя, после чего JavaScript-движок браузера выполняет интерпретацию их команд. Этот процесс занимает много времени, и поэтому некоторые разработчики придумали способы его оптимизации — Mozilla анонсировала проект Asm.js, а Google — Native Client. Оба проекта призваны реализовать возможность запуска исполняемого кода в веб-браузере, но они медленно развиваются. Не исключено, что WebAssembly первым прийдет к финишу, считает TechCrunch.
Более того, WebAssembly обещает предложить еще более высокую скорость декодирования бинарного файла — в 23 раза выше, чем Asm.js, предполагают разработчики.
Высокая скорость работы — не единственное преимущество нового стандарта над последовательной компиляцией JavaScript-кода. Бинарный код легче сжимается. Таким образом, переход на новый формат позволит снизить нагрузку на сеть и увеличить скорость доставки веб-файлов в браузер.
На первоначальном этапе в WebAssembly планируется добавить поддержку языков C/C++. И для компиляции кода разработчикам будет предложен Emscripten — тот же инструмент, который сейчас используется в рамках проекта Asm.js для компиляции C/C++ в JavaScript.
На начальном этапе авторы также планируют выпустить библиотеку polyfill, которая позволит конвертировать код WebAssembly в код JavaScript. Это позволит запускать его в любых браузерах, включая те, которые не обладают встроенной поддержкой нового стандарта. Со временем разработчикам планируется предоставить большее количество инструментов, включая компиляторы и отладчики, а также добавить поддержку новых языков программирования.
По мнению создателя JavaScript Брендена Айка — который недолго пробыл генеральным директором Mozilla — после того как все основные браузеры получат поддержку WebAssembly, между WebAssembly и JavaScript произойдет раскол. Однако авторы стандарта подчеркивают, что задача нового стандарта — не заменить JavaScript, а лишь предоставить возможность компиляции кода для веб-сайтов, написанном на большем количестве языках.
via cnews.ru
эх.. снова новый язык учить =(
Клево, но это адовая дыра в безопасности пк. То есть разрабы говорят что зайдя на сайт, вы получаете какую-то программу, которая начинает исполняться на низком уровне. Исполнять такое на автомате можно только в каком-нибудь изолированном контейнере (песочнице)