Google PNaCl — на пути превращения Chrome в самостоятельную платформу

Компания Google работает над технологией Native Client в течение нескольких лет, но ещё есть куда развиваться. Это открытая технология, которая создана для безопасного и независимого от операционной системы исполнения машинного кода в браузерах. Следующим логическим шагом развития технологии станет PNaCl (Portable Native Client).

Во время конференции Google I/O разработчик Google Дэвид Зер (David Sehr) представил PNaCl, следующее поколение Native Client, которое решает основные проблемы технологии. Native Client позволяет исполнять приложения, откомпилированные в C/C++, прямо в браузере. Это предоставляет огромный выигрыш в производительности, хотя имеются и недостатки. Проблема безопасности компенсируется системой исполнения в песочнице Chrome.

Но есть и другие трудности. Преимущество веб-технологий в том, что они работают где угодно внутри браузера (по крайней мере, в теории). Однако машинный низкоуровневый код должен иметь привязку к конкретной процессорной архитектуре или даже операционной системе. Стандартная технология Native Client, которую Chrome поддерживает с 2011 года, решила проблему операционных систем — код исполняется на любых ОС, где работает Chrome. Но разработчики до последнего времени всё же должны были компилировать отдельные сборки для исполнения их на x86 или ARM (поддержка ARM появилась только в этом году).

Видеоряд из игр, исполняемых в Chrome через Native Client

Технология PNaCl позволяет разработчикам компилировать одну версию своей программы, которая будет исполняться в Chrome вне зависимости не только от операционной системы, но и от процессорной архитектуры. Программы компилируются в универсальный биткод LLVM (файлы .pexe), который затем Chrome транслирует в код для определённой архитектуры. Этим обеспечивается широкая совместимость приложений не только с существующими архитектурами x86 (32-бит и 64-бит) и ARM, но в теории и с будущими архитектурами без необходимости перекомпиляции кода.

Другими словами, разработчикам не придётся думать, где именно исполняется их PNaCl-приложение: в Chrome под Linux на ARM-процессоре или в Chrome под Windows на x86-системе. В перспективе поддержка технологии может появиться и в других браузерах, ведь привязка Native Client к определённой архитектуре часто подвергалась критике от сторонних разработчиков. Mozilla, например, так и не внедрила поддержку NaCl в Firefox. Быть может, с выходом PNaCl положение дел изменится?

Впрочем, несмотря на доступность PNaCl для разработчиков, Google пока не готова включать по стандарту поддержку технологии в свой браузер и делать её доступной рядовым пользователям. PNaCl включена в сборку Chrome 29 и выше через запуск браузера с флагом --enable-pnacl. После выхода PNaCl разработчики смогут запускать исполняемые файлы PNaCl не только в приложениях Chrome Web Store, но и на любой веб-странице.

В целом, анонс Portable Native Client знаменует собой новый шаг на пути превращения браузеров в платформы, независимые ни от операционной системы, ни от архитектуры процессоров.


Константин Ходаковский, 3DNews

Коды для вставки в блог\форум

blog comments powered by Disqus


Вспомним другие новости из этого раздела?


Soft

←+Ctrl+→

Интересные новости
Индийцев выдавали за искусственный интеллектИндийцев выдавали за искусственный интеллект
Chrome получил нативную поддержку lazy loadingChrome получил нативную поддержку lazy loading
Chrome и Firefox перестанут показывать в адресной строке названия компанийChrome и Firefox перестанут показывать в адресной строке названия компаний
Блок рекламы


Похожие новости

Chrome получил нативную поддержку lazy loadingChrome получил нативную поддержку lazy loading
Chrome и Firefox перестанут показывать в адресной строке названия компанийChrome и Firefox перестанут показывать в адресной строке названия компаний
Google забанит расширения для Chrome, которые собирают много данных об активности пользователей
Google закроет лазейку в Chrome, позволяющую определять включенный режим инкогнитоGoogle закроет лазейку в Chrome, позволяющую определять включенный режим инкогнито
Google увеличил размер выплат за уязвимости, найденные в ChromeGoogle увеличил размер выплат за уязвимости, найденные в Chrome
Adblock Plus: блокировщик Chrome не спасёт от навязчивой рекламыAdblock Plus: блокировщик Chrome не спасёт от навязчивой рекламы
Новое официальное расширение Chrome помечает как подозрительные небольшие сайтыНовое официальное расширение Chrome помечает как подозрительные небольшие сайты
Google: мы не собираемся «убивать» расширения для блокировки рекламы в ChromeGoogle: мы не собираемся «убивать» расширения для блокировки рекламы в Chrome
В Google Chrome теперь можно переопределять геолокацию для тестирования сайтовВ Google Chrome теперь можно переопределять геолокацию для тестирования сайтов
Google ограничит работу расширений для блокировки рекламы в ChromeGoogle ограничит работу расширений для блокировки рекламы в Chrome
Последние новости

Подгружаем последние новости