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





Интересные новости
Незавершенная версия Windows 7 работает лучше Vista
Программист открыл заблокированные возможности Windows 7
Quick Slide Show 2.32: создание flash-презентаций
Покупатели гоняются за старыми компьютерами ради Windows XP
Визуализатор V-Ray 1.5 Service Pack 2 с поддержкой 3ds Max 2009
Блок рекламы


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

Google випустив оновлення Chrome з режимом економії заряду батареїGoogle випустив оновлення Chrome з режимом економії заряду батареї
Google попередив користувачів про небезпеку: їм потрібно терміново оновити браузерGoogle попередив користувачів про небезпеку: їм потрібно терміново оновити браузер
Программистов из РоSSии и Беларуси отстранили от участия в конкурсе GoogleПрограммистов из РоSSии и Беларуси отстранили от участия в конкурсе Google
Иконка Google Chrome получит первый редизайн за 8 лет и вариации для разных ОСИконка Google Chrome получит первый редизайн за 8 лет и вариации для разных ОС
Chrome для Android будет запрашивать подтверждение перед закрытием всех вкладокChrome для Android будет запрашивать подтверждение перед закрытием всех вкладок
Недавнее обновление нарушает работоспособность браузера Google Chrome для iOSНедавнее обновление нарушает работоспособность браузера Google Chrome для iOS
Google назвала Chrome OS самой быстрорастущей операционной системой в мире
Google похоронила панель Google Toolbar для Internet Explorer спустя 21 год после запуска
Скрытые функции браузера Google Chrome, о которых не знают многие пользователи
Настольная версия Google Chrome позволит создавать и редактировать скриншоты прямо в браузере
Последние новости

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