НовостиОбзорыСобытияIT@WorkРеклама
ПК и периферия:

Блог

Браузеры переходят с PNaCl на WebAssembly

По мере все более широкого проникновения Интернета в нашу жизни все больше вычислительных процессов (или проще говоря, прикладных программ) перемещаются в из среды ОС в среду браузеров. Среда браузеров обеспечивает почти (хотя, конечно, не на 100%) переносимость программного кода, независимость от ОС, аппаратной архитектуры… Но у нее есть один серьезным минус – исполнение в ней программного кода ниже, чем на "родном" уровне ОС и аппаратуры. Несмотря на все усилия разработчиков движки  JavaScript и HTML 5 заметно отстают от исполнения "настоящего" кода, написанного на C и даже на C++. Но разработчики не оставляют намерений сделать, казалось бы, невозможное, совместив "коня и трепетную лань".
[spoiler]
И особую активность тут проявляет, конечно же, компания Google, которая давно задалась целью перевести из чужих ОС в свой Chrome все приложения. В том числе, и игры, которые требуют максимальной производительности вычислений. Еще в 2008 году компания начала работы по созданию технологии Native Client, которая потом переросла в технологию Portable Native Client (PNaCl), позволяющую позволяющая безопасно запускать код прямо в браузере (независимо от используемой ОС) со скоростью, приближённой к запуску машинного кода.Со временем к этому проекту подключились разработчики всех ведущих браузеров (Mozilla, Microsoft, Apple), которые начали проект под название это WebAssembly на базе наработок PNaCl. Одна из ключевых идей WebAssembly – поддержка C/C++ в среде браузера (перевод его в JavaScript) со скоростью исполнению близкой к машинному уровню/

В марте этого года команда WebAssembly Community Group выдала заключение, что бинарный формат и API для WebAssembly достигли уровня MVP (минимально жизнеспособный продукт), и дальнейшее развитие проекта требует его реальное внедрения и широкого применения в приложениях. Было также решено, что  все последующие изменения JavaScript API и бинарного формата должны выполняться с учётом поддержки обратной совместимости.
В настоящее время WebAssembly поддерживается в Chrome и Firefox в рабочем варианте, Edge и Safari в режиме бета-версии. На днях Google объявила о скором прекращении поддержки варианта PNaCl и полного перехода на WebAssembly: с начала 2018 года PNaCl будет поддерживаться только в Chrome Apps и Extensions