Google вчера выпустил новую версию браузера Chrome 31 для Windows, Linux и Mac. В новой версии закрыто 25 дыр в безопасности, а также реализованы некоторые инновации. Самая главная из них — более продвинутый инструмент для исполнения нативного кода на любой платформе Portable Native Client (PNaCl), основанный на движке Native Client.

С помощью PNaCl разработчик может написать программу один раз — и гарантировать ее нативное исполнение на любой аппаратной платформе и на любом сайте, при условии, что запуск осуществляется в PNaCl. Платформа предусматривает компиляцию программы на C/C++ в единый исполняемый файл, который работает под всеми десктопными версиями Chrome и в операционной системе Chrome OS, без необходимости предварительной инсталляции программы.

Google объясняет, что код C/C++ под PNaCl компилируется в некое промежуточное представление, а не в конкретный код для конкретной платформы, как это было в случае с Native Client. Здесь скорее можно провести аналогию с байткодом LLVM. Он «заворачивается» в исполняемый файл таким образом, что готов к размещению на любом сервере и мгновенному исполнению в браузере, как любой другой элемент веб-сайта. Трансляция байткода в специфический машинный код для конкретной платформы выполняется уже на стороне клиента, то есть в браузере Chrome.

В будущем разработчикам не нужно будет компилировать свои программы отдельно для платформ x86, ARM или MIPS. Всю работу возьмет на себя браузер. Теперь на сайтах удобно публиковать самый сложный софт: CAD-программы для 3D-моделирования, векторные и растровые графические редакторы, программы для видеомонтажа, аудиоредакторы, 3D-игры и прочее — через Native Client все это будет исполняться на компьютере пользователя и потреблять его ресурсы CPU и GPU. См. демки разных программ.

Все очень замечательно, кроме одного момента: Native Client пока работает только в браузере Chrome. Хотя компания Google намекала, что это может измениться в будущем.



Оставить мнение