Google прекращает поддержку Portable Native Client в пользу WebAssembly

31 мая 2017 года

Компания Google объявила о переводе технологии PNaCl (Portable Native Client) в разряд устаревших. Поддержка PNaCl в Chrome будет прекращена в первом квартале 2018 года, но возможность использования PNaCl в дополнениях к Chrome и приложениях Chrome Apps ещё какое-то время будет сохранена.

Разработчикам рекомендуется перейти на использование технологии 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 дополнительно опубликовала план (Архивная копия от 3 февраля 2018 на Wayback Machine) развития поддержки WebAssembly в браузере Chrome, в соответствии с которым в Chrome 60 появятся поддержка фоновой компиляции WebAssembly и средства для работы с разделяемой памятью в JavaScript (SharedArrayBuffers). В Chrome 61 будет обеспечена трансляция кода asm.js в WebAssembly, поддержка сериализации WebAssembly.Module в IndexedDB и возможность компиляции WebAssembly по мере загрузки. В Chrome 62 ожидается появление средства для многопоточного выполнения. В Chrome 63 появится поддержка векторных инструкций SIMD и быстрая обработка исключений. В Chrome 64 будут добавлены средства для кэширования машинного кода для WebAssembly.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Google прекращает поддержку Portable Native Client в пользу WebAssembly», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.