Google прекращает поддержку Portable Native Client в пользу WebAssembly
Разработчикам рекомендуется перейти на использование технологии WebAssembly, предоставляющей не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования. WebAssembly рассматривается как более перспективная и переносимая между браузерами технология создания высокопроизводительных web-приложений, в то время как PNaCl не вышел за пределы нишевого продукта, привязанного к одному браузеру. Для упрощения перевода приложений с PNaCl на WebAssembly подготовлена серия рекомендаций.
По своим задачам WebAssembly во многом напоминает PNaCl (Portable Native Client), но отличается тем, что промежуточный код WASM не изолирован в отдельной виртуальной машине, а выполняется с похожим на JavaScript уровнем изоляции. В PNaCl приложение компилируется в универсальный биткод LLVM и поставляется в непривязанном к конкретной платформе исполняемом формате ".pexe". В процессе запуска приложения промежуточный биткод LLVM транслируется в машинный код текущей платформы на стороне локальной системы пользователя. WebAssembly претендует на роль универсальной и общепринятой технологии, поддержка которых уже включена по умолчанию в Chrome 57+ и Firefox 52+, и входит в состав экспериментальных сборок Safari и Edge.
Компания Google дополнительно опубликовала план развития поддержки WebAssembly в браузере Chrome, в соответствии с которым в Chrome 60 появятся поддержка фоновой компиляции WebAssembly и средства для работы с разделяемой памятью в JavaScript (SharedArrayBuffers). В Chrome 61 будет обеспечена трансляция кода asm.js в WebAssembly, поддержка сериализации WebAssembly.Module в IndexedDB и возможность компиляции WebAssembly по мере загрузки. В Chrome 62 ожидается появление средства для многопоточного выполнения. В Chrome 63 появится поддержка векторных инструкций SIMD и быстрая обработка исключений. В Chrome 64 будут добавлены средства для кэширования машинного кода для WebAssembly.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46629
|
0 | Tweet | Нравится |
|