28 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Native client что это за плагин

SomeDemo

Как видите, тут нет ничего сложного — при загрузке страницы сначала с помощью JavaScript производится проверка наличия модуля, и в случае успеха он загружается в контейнер с id embed1. В случае неудачи выводится сбивающее с толку сообщение — «The Native Client plugin was unable to load». Почему сбивающее с толку? Сейчас я это покажу. Земля в иллюминаторе Возвращаемся в директорию /googleclient/native_client/tests в папку earth/ (см. рис. 4). Рисунок 4. Файлы примера Как нетрудно догадаться, сценарий run.py запускает приложение, но нам это совсем не нужно. Вместо этого откроем в браузере html-страницу earth.html. и… получим то самое сообщение (см. рис. 5). Как же так? Ведь плагин мы установили? Рисунок 5. Модуль не загружен Дело в том, что, несмотря на наличие Native Сlient-плагина, модуль не грузится по той простой причине, что он не собран, не откомпилирован, а представлен только исходным кодом (файл earth.сс), на языке С++. Впрочем, в той же папке мы видим файл Makefile, и это позволяет надеяться, что ситуацию можно исправить. Сначала соберём и запустим Standalone-приложение: make debug run После этого запустится самостоятельное приложение, представляющее собой вращающееся изображение земного шара, а в папки примера появится исполняемый файл — earth_debug. Теперь соберём Native client-модуль: make release nacl Если все прошло нормально, появятся ещё два файла — earth.nexe и earth_release.nexe. Можно опять открыть earth.html в браузере, и теперь картинка должна быть совсем другой (см. рис. 6). Рисунок 6. Земля. Рассмотрим пример посложнее. В папке googleclient/native_client/tests/xaos находятся исходники и сценарий сборки известного фрактального конструктора Xaos. Правда, не исходники самого Xaos, их сборочный скрипт скачает отдельно. Собирать просто: ./xaos_tool.sh all И, раскрыв браузером xaos.html, наслаждаемся результатом (см. рис. 7). Рисунок 7. Редактируем фракталы На самом деле в этом и предыдущем примере мы выступаем в роли разработчика. Конечному пользователю приложения достаются уже откомпилированные модули, и всё, что ему нужно, — оснастить браузер Native client плагином. Ну а мы продолжим развлекаться. Теперь приступим к обещанной quake. Тут готового сценария нет, поэтому будем действовать вручную. Заходим в папку googleclient/native_client/tests/quake/ и скачиваем исходные коды игры: wget http://www.libsdl.org/projects/quake/src/sdlquake-1.0.9.tar.gz … wget http://www.libsdl.org/projects/quake/data/quakesw-1.0.6.tar.gz … Теперь их разархивируем: tar -x —strip-components=1 -f sdlquake-1.0.9.tar.gz … tar -x -f quakesw-1.0.6.tar.gz … Должно образоваться множество файлов — исходников и одна директория — id1/. Следующим шагом наложим необходимый патч из native Client: patch -p1 Рисунок 8. Наши победят! И пока всё… Да, на этом, к сожалению, пока всё. К сожалению, технология пока действительно сырая, и автору не удалось последовательно написать с нуля и запустить Google Native Client-приложение ни на одной платформе. Более того, на данный момент времени NaCL отказывается собираться с Python 2.6.x, браузер с установленным NaCL-плагином неоднократно замечен в неадекватном поведении, некоторые тесты не запускаются под платформой Windows. С другой стороны, API NaCL открыт и документирован (/googleclient/native_client/scons-out/doc/html), поэтому для настоящего энтузиаста нет препятствий попробовать свои силы в написании приложений «невзирая на». Трудно сейчас сказать, насколько перспективным окажется это занятие, но интересным — наверняка. 1. Домашняя страница проекта — http://code.google.com/p/nativeclient. 2. Описания архитектуры GoogleNative Client (PDF) — http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/nacl_paper.pdf

Пользователи текущей стабильной версии Google Chrome могут заметить, что в списке установленных плагинов (на chrome:plugins) появился новый — Widevine Content Decryption Module. В Google Chrome OS он появился еще в 26 версии, а до браузера дошел только сейчас. Что это за зверь?

Плагин Widevine Content Decryption Module (Widevine CDM) добавлен в браузер для поддержки Encrypted Media Extensions (EME) API, который в свою очередь появился в спецификации HTML5 для работы с DRM (технические средства защиты авторских прав).

А теперь простыми словами.

Welcome to Native Client

Владельцы аудио- и видео-контента хотят транслировать его в сети средствами HTML5, но не хотят давать право его копировать. Для этого организация W3C добавила EME в спецификацию HTML5. А на стороне браузера поддержкой этого дела должен заниматься специальный плагин (в случае с Google Chrome, это Widevine CDM).

François Beaufort (ç — это французская буква, а не битый пиксель у вас на мониторе), евангелист проекта Chromium и сотрудник Google, объяснил поддержку EME следующим образом. Крупные компании, продвигающие идею защиты онлайн-контента от копирования, не отстанут (для поддержки DRM уже сейчас используют плагины Flash и Silverlight). А EME это хороший способ внедрить единый стандарт, который не потребует от пользователя самостоятельно устанавливать различные плагины.

Другого мнения придерживается Brendan Eich, создатель языка Javascript и технический директор Mozilla.

По его словам, решение поддержать EME подрывает открытость Web и ущемляет права пользователей. А еще он считает, что EME открывает дорогу для появления бесконечного числа нестандартизированных CDM-плагинов, которые по сути являются аналогами ActiveX и создаются под конкретные ОС.

Кстати, Widevine CDM не является частью проекта Chromium, а представляет из себя такой же закрытый плагин Google, как и Flash (PPAPI) и PDF Viewer. Т.е. встраивается исключительно в Chrome. В мобильную версию Google Chrome плагин встроить планируют в 32 версии.

Строго говоря, Google не позиционировало свою технологию Native Client как платформу для Rich Internet Applications, но по формальным признакам она вполне вписывается в этот класс ПО.

Ее суть — запуск в браузере модулей, написанных на нативном коде (увы, адекватного перевода на родной язык термина «native code» в голову не приходит) для архитектуры x86.

В отличие от JavaFX или Silverlight, в этой технологии нет компиляции в байт-код и какой-либо виртуальной машины. Была создана среда выполнения, позволяющая запускать обычные, «родные» для этой платформы программы в безопасном для данной системы окружении.

Отключаем плагины и ускоряем Google Chrome

Разработчики идеально выдержали модель «песочницы».

Во избежание взаимодействия Native Client непосредственно операционной системой весь код исполняется в отдельном, изолированном контейнере. Это позволяет модулю использовать системные ресурсы, но в то же время ограждает ОС от возможного случайного или злонамеренного повреждения.

В целом Native Client (NaCL) состоит из контейнера, играющего роль песочницы, и среды исполнения (runtime) нативного кода. Третьим элементом выступает плагин для веб-браузера. Для коммуникации между браузером и NaCL-модулем предоставлены два варианта: simple RPC-интерфейс (SRPC) и давно известный Netscape Plugin Application Programming Interface (NPAPI).

Писать модули для Google Native Client предполагается на любом компилируемом на данной системе языке программирования.

Native Client распространяется под лицензией BSD, имеет реализации для различных браузеров и платформ.

Еще несколько лет назад Native Client многими рассматривался как веб-платформа будущего. Сейчас новости об этой технологии занимают довольно скромное место на фоне известий о новых API HTML5, но Google от него отказываться явно не собирается. Так, начиная с 14-й версии браузера Google Chrome, Natve Client включен в состав обозревателя, и его пользователям больше не требуется устанавливать никаких дополнительных плагинов.

Вам также могут быть интересны следующие статьи:

Разработчики из проекта Chromium сообщают, что уже в 31 версии их браузера поддерживается Portable Native Client (PNaCl, произносится «pinnacle»). Что это за зверь такой, и в чем его отличия от простого NaCl вы можете прочитать дальше…

Для начала напомним, что такое обычный NaCl.

От браузера к ОС: что такое Native Client и чем он может быть полезен?

Это технология, которая позволяет браузеру исполнять нативный код, а разработчикам — писать свои веб-приложения, например, на C или C++. Применение NaCl позволяет добиться высокой производительности и низкоуровневого контроля за работой приложения. С применением NaCl созданы такие игры как Mini Ninjas и Bastion.

Можете, кстати, обратить внимание, что плагин NaCl встроен в браузер и отображается на странице chrome:plugins.

К сожалению, NaCl не дает возможность подготовить приложение, которое будет работать на любой платформе. В результате разработчики должны компилировать исполняемые nexe-модули под каждую архитектуру. Собрать по модулю на каждую платформу еще можно, но как их распространять? Особенно это актуально, если веб-приложения встроены в сайт, а не устанавливаются из того же Chrome Web Store.

PNaCl решает эту проблему и позволяет создавать действительно портативные и независимые от архитектур приложения. Как это происходит? Процесс компиляции разбивается на два этапа:

  • компиляция исходного кода в байткод, который не зависит от архитектуры;
  • перевод байткода в нативный код под каждую архитектуру.

В результате первого этапа разработчик получает специальный pexe-модуль, который можно использовать в приложениях также, как и любые другие HTML, JS и CSS вставки. Этот же компонент можно распространять через сайт.

А вот второй этап уже происходит в браузере. Chrome сам преобразовывает байткод в нативный код, который будет актуален для конкретной платформы и ОС.

В результате разработчик создает одно приложение, которое будет работать на x86, ARM и MIPS. А чтобы приложения, созданные на PNaCl, работали и в других браузерах, а не только в Chrome, можно использовать pepper.js.

Если вы разработчик, то добро пожаловать в документацию.

Читать еще:  Failed to load steamui dll что делать

А если вы просто любопытный пользователь, то вот вам PNaCl-демки.

Скрытые страницы Google chrome

Google Chrome является очень популярным браузером.

И естественно здесь присутствуют скрытые возможности, которые в которые через привычный интерфейс не попасть.

Сегодня мы рассмотрим эти страницы и как их можно использовать. Достаточно ввести запрос в адресную строку.

Скрытые страницы Google chrome

Страница chrome://flags/ Содержит множество экспериментальных функций и настроек браузера.

Это настройки отображения, интерфейса, приватности которые присутствуют в хроме но они на стадии тестирования и не доступны обычному пользователю.

Некоторые могут быть не активны в зависимости от вашей платформы.

При обновлениях могут обновляться опции, либо пропадать если они уже внедрены.

Будьте внимательны при их настройке, некоторые могут улучшить работу, другие наоборот вызывать проблемы.

Сюда записывается вся история посещенных вами сайтов.

Достаточно ввести часть запроса которую вы вводили ранее и нажать Enter.

Более удобно чем графический запрос в истории через опции.

Все возможные ошибки при загрузках страниц в интернете.

Страница содержит отчёты о последних сбоях программы.

Плагины браузера. В настройках они никак не отображаются.

  • Widevine Content Decryption Module — модуль позволяет проигрывать защищённые HTML5 DRM видео и аудио файлы.
  • Adobe Flash Player — думаю модуль не нуждается в представлении. Использовать встроенный или отдельно установленный решать вам.
  • Native client — это плагин для разработчиков, для безопасного запуска C и C++ кода.
  • Chrome PDF Viewer — предварительный просмотр документов PDF в браузере.

Если вы решили изучить правила соглашения, которые просто пропустили при установке браузера — прочитайте их на данной странице.

История Http кеш запросов. Здесь находится информация о баннерах которые появлялись на сайтах и различных модулях. Обычному пользователю ничего не даст полезного.

Что-то вроде диагностического центра chrome.

Если вам нужна информация о пропускной способности, о связи сокетов и другая инженерная информация, то это будет полезно.

Когда вы вводите запросы вам начинают предлагаться определённые результаты, сайты. И чаще всего это зависит от вашей активности. Здесь ведётся эта самая статистика запросов и куда чаще всего она ведёт.

Тут можно увидеть ваши самые посещаемые сайты.

Заключение.

Вполне возможно кому то из вас может стать полезна эта информация, особенно если вы являетесь программистом или тестировщиком.

Google Native Client

Содержание статьи

Наша жизнь все больше перемещается в Сеть. Браузер стал главной программой на ПК, а Гугл вовсю штампует ноутбуки с Chrome вместо полноценной ОС. Казалось бы, в этих условиях перспективы обычных, не веб-ориентированных языков программирования крайне сомнительны. И тем не менее нас, старых добрых хардкорных программистов на си приплюснутом, еще рано списывать на свалку истории — мы все еще получаем кучу денег :), потому что без нормального машинного кода до сих пор никто не обходится.

Потребность в запуске нативного кода в браузере появилась не на пустом месте. Как бы ни старались разработчики JavaScript и HTML 5 движков, производительность их творений не выдерживает конкуренции с обычным кодом на C или C++. Если нам нужно показать крутую графику или поразить окружающих высококачественным звуком, то типичными инструментами веб-разработчика подобное реализовать затруднительно. Именно это и стало одной из основных причин для появления технологии Native Client от Google.

Что такое Native Client

Ребята из Гугла начали свой нелегкий труд над NaCl в далеком 2008 году. Задачи, которые они ставили перед собой, были сложны и амбициозны. Первым делом надо было обеспечить легкую переносимость legacy кода в NaCl. Это была фактически первопричина всей этой затеи. Если у нас есть куча старого и не очень кода на плюсах, который работал сугубо на десктопах, и мы вдруг решили, что пора осваивать веб, то нам не надо учить новые языки программирования и технологии, а достаточно лишь портировать имеющийся код на Native Client платформу.

Но даже если мы и готовы переписать все с нуля на незнакомых нам языках, не факт, что у нас выйдет то, что мы ожидали. Показывать качественную 2D- и 3D-графику, использовать многопоточность, да и вообще быть ближе к железу у нас ну никак не выйдет. Это была вторая цель, которую преследовала Google. Кроме того, как я уже сказал, никто не отменял относительно низкую производительность скриптовых языков в браузере.

Ко всему прочему, умные парни из Google подумали и о безопасности пользователей. Весь нативный код выполняется в двойной (!) песочнице, что позволяет блондинкам и прочим продвинутым личностям не бояться забагованных приложений и атак злых вирусов.

Ну и на десерт у нас платформонезависимость. Да-да! Мы можем написать плюсовый код, и он будет работать на Windows, OS X и даже, не побоюсь этого слова, Linux. А вишенкой на этом десерте будет поддержка x86- и ARM-архитектур.

В 2011-м Гуглец включил поддержку NaCl в Chrome. Другие браузеры, к сожалению, пока не поддержали инициативу интернет-гиганта. Старожилам интернета в голову невольно могут прийти воспоминания об ActiveX, который и ныне здравствует (в кругу любителей IE), но, в отличие от технологии Майкрософт, Native Client распространяется с открытым исходным кодом под новой лицензией BSD. Да и над безопасностью в NaCl подумали лучше.

Для чего можно использовать Native Client

На практике Native Client можно использовать в первую очередь для запуска игрушек в браузере. Собственно, первый опыт уже есть — под Google NaCl портировали Quake. Да, да, ту самую кваку 1996 года выпуска, в которой ты провел столько лет, разрубая жирных огров саперной лопаткой (если ты не знаешь, как зарубить лопатой вооруженного гранатометом и бензопилой огра, напиши мне) и разрывая в клочья зомби из рокетлаунчера.

Исполнение машинного кода в браузере отлично поможет разгрузить сервер. Например, если у нас есть онлайн-сервис для конвертации видео в разные форматы, то алгоритм работы с ним должен выглядеть примерно так: пользователь загружает видео на сервер, долго ждет, пока наш мощный CPU перелопатит файл, выбрасывая в атмосферу много калорий тепла, а потом счастливый юзер скачивает результат с нашего сервера. Но если мы перенесем конвертор с сервера на клиент, то мы сразу уберем нагрузку с нашего железа и нехило расчистим интернет-канал, который за «умеренную» плату предоставил нам хостер. Да и пользователь будет доволен — в среднем конвертация должна пройти быстрее, так как сотни мегабайт туда-обратно по сети не гоняются. А для юзеров с паранойей можно с гордостью заявить, что их драгоценные personal data целиком обрабатываются только на их ПК. Это, кстати, актуально и для корпоративного сектора.

Как это работает

Native Client — это общее название для набора разнообразных программных компонентов, которые работают вместе для обеспечения безопасного функционирования C++ кода в вебе. На высоком уровне NaCl состоит из тулчейна (компилятора, линкера и так далее) и рантайм-библиотек, которые встроены в браузер и позволяют нативному коду безопасно работать с нужными API.

Для переносимости приложений между разными архитектурами существует расширение Portable Native Client (PNaCl). Отличие его заключается в том, что при компиляции код транслируется в промежуточное представление, а уже после запуска на той или иной платформе браузер переводит это представление в машинный код.

Для обеспечения безопасности Гугл сделал две вещи. Первая — это специальный набор API, с которым может работать код, выполняющийся под NaCl. Нативный модуль не должен пытаться выйти за пределы разрешенного API, вмешиваться в работу стороннего кода или браузера.

Второй важный момент, обеспечивающий беззаботную жизнь для пользователей Native Client, — это специальный анализатор кода, который должен удостовериться, что приложение не пытается сделать ничего противоправного.

Кроме того, NaCl-модули всегда запускаются в процессах с ограниченными правами. Эти меры предосторожности позволяют говорить о двойной песочнице для нативного кода, работающего в браузере.

C++ код может общаться с JavaScript посредством специальных сообщений. Сообщения пересылаются асинхронно, то есть не надо ждать, пока другая сторона получит его.

Пишем Hello NaCl

Теперь у нас есть представление о Native Client, и нужно пробовать написать что-нибудь полезное. или не очень. Мы будем делать Hello World, ну или Hello NaCl.

Для начала нужно скачать и установить Native Client SDK. Ссылку на страницу загрузки ты найдешь во врезке. Там же будет и инструкция по установке. Скажу лишь, что обязательно будет нужен Python 2.7 и make.

Вместе с SDK идет простой веб-сервер, который может хостить приложения на localhost. Самый простой путь запустить его — это выполнить следующие команды:
$ cd pepper_$(VERSION)/getting_started
$ make serve
SDK может содержать в себе несколько разных версий, правильную нужно подставить вместо $(VERSION). Также можно использовать любой другой веб-сервер. PNaCl включен по умолчанию в версии хрома 31 и старше. Но нужно следить, чтобы выбранная версия SDK поддерживалась установленной версией Chrome.

Великий и могучий Гугл любит преданных разработчиков и потому любезно предоставил пример с минимальным кодом для создания NaCl-модуля. Лежит этот код в папке pepper_$(VERSION)/getting_started/part1 и состоит из нескольких файлов. Первый — это index.html. В нем находится HTMLLayout и JS-код для взаимодействия с плюсовым модулем. Если внимательно присмотреться, то можно заметить файл с расширением nmf, а точнее, hello_tutorial.nmf. Это манифест, который указывает на нашу HTML, NaCl-модуль и служит вместилищем дополнительных настроек для тонкого тюнинга.

Читать еще:  Socket 1150 или 1151 отличия что лучше

Далее идет hello_tutorial.cc, он и является исходником на C++, который потом можно собрать с помощью Makefile. Сделать это до безобразия просто:
$ cd pepper_$(VERSION)/getting_started/part1
$ make
Если мы использовали веб-сервер, идущий вместе с SDK, то после сборки в хроме достаточно вбить такой URL: http://localhost:5103/part1, и ты станешь свидетелем чуда — текст на открывшейся странице изменится с LOADING. на SUCCESS. Впечатляет, не правда ли?

Так как мы собирались делать Hello NaCl, то нам придется немного изменить код. Для этого заглянем в файл index.html и найдем там JavaScript-функцию moduleDidLoad. Кстати, сейчас самое время пробежаться по всему коду HTML-файла и остановиться на непонятных вещах, благо все они щедро сдобрены комментариями. В функции moduleDidLoad происходит загрузка нашего NaCl-модуля hello_tutorial и вывод того самого текста SUCCESS, который мы успели лицезреть при переходе по линку /part1. Теперь пошлем нативному модулю слово hello, для этого достаточно вызвать функцию postMessage у переменной модуля. В коде это будет выглядеть примерно так:
function moduleDidLoad() <
HelloTutorialModule = document.getElementById(‘hello_tutorial’);
updateStatus(‘SUCCESS’);
// Посылаем сообщение Native Client модулю
HelloTutorialModule.postMessage(‘hello’);
>
Сообщение послали, теперь надо его получить. Для этого надо реализовать член-функцию HandleMessage в файле hello_tutorial.cc. В файле содержится TODO, которое недвусмысленно намекает на то, что нужно делать. В обработчике сообщения мы будем отправлять браузеру ответ с помощью функции PostMessage, но перед этим выполним пару проверок.
virtual void HandleMessage(const pp::Var& var_message) <
if (!var_message.is_string())
return;
std::string message = var_message.AsString();
pp::Var var_reply;
if (message == “hello”) <
var_reply = pp::Var(“hello from NaCl”);
PostMessage(var_reply);
>
>
Как видно из кода, мы первым делом проверяем, пришла ли нам строка, а не что-то другое. Класс Var служит оберткой со счетчиком ссылок для сырых переменных C++. Именно объекты этого класса пересылаются между веб-страницей и нативным модулем. Далее мы проверяем, что нам пришло именно hello, и отправляем ответ, предварительно обернув его объектом класса Var.

В index.html уже есть обработчик сообщений от NaCl-модуля. Он просто выведет JS alert с полученной строкой:
function handleMessage(message_event) <
alert(message_event.data);
>
После того как мы сделали нужные изменения, можно пересобирать модуль и обновлять страницу http://localhost:5103/part1. Увидев message box с заветной строкой hello from NaCl, мы можем с гордостью заявить, что освоили новую технологию.

Заключение

Гугл придумал полезную штуку. Жаль, что пока никто, кроме «корпорации добра», не поддержал Native Client платформу. Достаточно высокая производительность является преимуществом по сравнению с Java, апплеты которой также могут выполняться в браузере, а высокий уровень безопасности уделывает ActiveX от Microsoft. Будем ждать, пока Chrome захватит мир или другие разработчики браузеров внедрят в свои творения Native Client.

Отключаем плагины и ускоряем Google Chrome

Один из простейших способов по ускорению браузера Google Chrome, за счёт отключения ненужных в работе плагинов, которые впустую занимают память и потребляют ресурсы компьютера.

Плагин (англ. plugin, от plug in – подключать) – это отдельный программный модуль (часть программы), который позволяет отображать на web-странице то содержание, которое не может быть отображено при помощи браузера. К таковым относятся: видео, аудио, онлайн игры, презентации и другое. Плагины создаются и распространяются разработчиками этих форматов данных. К примеру, сейчас наиболее популярны такие плагины как Adobe Flash, Quicktime, Silverlight и др.

Но далеко не все плагины нужны в повседневной работе. Большинство из них можно спокойно отключить. Отключив ненужные вам плагины, вы сможете ускорить работу браузера. В данной статье я расскажу вам как это сделать и что можно отключить, чтобы ускорить Google Chrome.

И так, для того чтобы зайти на страницу «Плагины» в браузере Google Сhrome следует указать в его адресной строке: chrome://plugins/ – и нажать кнопку Enter. Открывшаяся страница будет иметь следующий вид.

Давайте разбираться, какие плагины мы можем отключить, а какие оставить.

  • Widevine Content Decryption Module – плагин поддержки EME API, позволяющий правообладателю запретить копирование аудио/видео контента через HTML5. Подробней читайте тут.
    Моё мнение : зачем себя ограничивать, отключаем.
  • Native Client – плагин поддержки графики или звука высокого качества в приложениях. Подробней читайте тут.
    Моё мнение : если не используете приложения можно отключать.
  • Adobe Flash Player – плагин поддержки Flash.
    Моё мнение : пока нужен, оставляем.
  • Google Earth (GEPlugin) – плагин интеграции с приложением Google Earth, для просмотра карт в 3D.
    Моё мнение : по сути, мне хватает и софта, отключаю.
  • Chrome Remote Desktop Viewer – как я понял, это плагин для одноименного приложения, которое позволяет подключаться к удаленным компьютерам и предоставлять другим пользователям безопасный доступ к вашему компьютеру.
    Моё мнение : штука интересная, но мне как бы не нужная, отключаю.
  • Java(TM) – плагин поддержки Java (не путать с JavaScript) .
    Моё мнение : по сути, редко что-то такое использую, так что отключил.
  • Chrome PDF Viewer – плагин просмотра PDF документов прямо в браузере.
    Моё мнение : не часто нужно, а если нужно, то есть Acrobat Reader, отключаю.
  • Google Update – плагин для обновления ПО Google.
    Моё мнение : по опыту знаю, что отключение этой назойливой штуки чревата проблемами, так что пусть будет, оставляем.
  • Adobe Reader – плагин для просмотра PDF файлов в браузере.
    Моё мнение: стрёмно обновлять, следают адобовские «костыли», отключен.
  • VLC Web Plugin – плагин VLC проигрывателя для прослушивания/просмотра аудио/виде файлов в браузере.
    Моё мнение : интегрировался гад, обычно мне не нужен, отключаю.
  • Windows Presentation Foundation – как я понял, это плагин подсистемы из .NET Framework (начиная с версии 3.0) . Подробней читайте тут.
    Моё мнение: написано, что плагин для Firefox, да и вообще, вроде не нужно, отключаю.

Если у Вас в списке есть ещё какие-то плагины – пишите в комментариях, будем разбираться, а заодно поможем другим.

Native Client Google – Google Native Client

Google Native Client ( NaCl ) является песочница технологии для запуска либо подмножество Intel x86 , ARM или MIPS машинный код, или портативный исполняемый файл, в песочнице. Это позволяет безопасно работает собственный код из веб – браузера , независимо от пользователя операционной системы , что позволяет веб – приложениям работать на почти родной скорости, которая совпадет с планами компании Google для Chrome OS . Он также может быть использован для защиты браузера плагинов , а также части других приложений или полных приложений , таких как ZeroVM .

Чтобы продемонстрировать готовность технологии, 9 декабря 2011 года Google объявила о выпуске нескольких новых Chrome только версий игр , известных своими богатыми и процессор -intensive графики , в том числе Бастион (больше не поддерживается на Chrome Web Store). NaCl работает с аппаратным ускорением 3D – графики (через OpenGL ES 2.0), песочницы локальное хранилище файлов, динамическую загрузку , полноэкранный режим, и мыши захвата. Есть также планы сделать NaCl доступны на мобильных устройствах.

Портативный Native Client (PNaCl) является архитектурно-независимой версией. PNaCl приложения будут скомпилированы вперед-оф-времени . PNaCl рекомендуется над NaCl для большинства случаев применения. Общая концепция NaCl (работает машинный код в веб – браузере) была реализована ранее в ActiveX , который, в то время как все еще в использовании, имеет полный доступ к системе (диск, память, пользовательский интерфейс, реестра и т.д.). Native Client позволяет избежать этой проблемы с использованием песочницы.

Альтернативой сортов к NaCl является asm.js , который также позволяет приложения , написанные на C или C ++ , которые будут скомпилированы для запуска в браузере (на более чем половину родной скорости), а также поддерживает вперед-в-время компиляции, но подмножество JavaScript и , следовательно , обратная совместимость с браузерами , которые не поддерживают его напрямую. Другой вариант (хотя он может изначально быть приведен в действие PNaCl) является WebAssembly .

12 октября 2016 года, комментарий на вопрос трекера Chromium показали , что перец и Native Client команды Google, были destaffed. 30 мая 2017 года, Google объявил о Deprecation PNaCl в пользу WebAssembly . Хотя изначально Google планировала удалить PNaCl в первом квартале 2018 года, удаление в настоящее время планируется во втором квартале 2019 года (за исключением приложений Chrome).

содержание

обзор

Native Client является открытым исходным кодом проекта разрабатывается Google . На сегодняшний день, Quake , XaoS , Битва за Wesnoth , Гибели , Лара Крофт и Хранитель Света , From Dust , и MAME , а также системы обработки звука Csound , были перенесены на Native Client. Native Client был доступен в Google Chrome веб – браузер , начиная с версии 14, и была включена по умолчанию , начиная с версии 31, когда портативный Native Client (PNaCl, произносится: башенкой) был выпущен.

ARM реализация была выпущена в марте 2010 года x86-64 , IA-32 и MIPS также поддерживаются.

Для того, чтобы запустить приложение переносимо под PNaCl, он должен быть собран с архитектурой агностического и стабильного подмножества LLVM промежуточное представление байт – кода . Исполняемые называются PNaCl исполняемых файлов (pexes). PNaCl Toolchain делает .pexe файлы; NaCl Toolchain .nexe файлы. Магическое число из .nexe файлов 0x7F «E» «L» «F», который является ELF . В Chrome, они будут переведены на архитектуру конкретных исполняемых файлов , так что они могут быть запущены.

Читать еще:  Перегревается процессор на ноутбуке что делать

NaCl , использует программное обеспечение обнаружения неисправностей и изоляции для Sandboxing на x86-64 и ARM. X86-32 реализация Native Client примечательна свой новый способ песочницы, что делает использование редко используются в архитектуре x86 в сегментации объекта . Native Client устанавливает сегменты x86 , чтобы ограничить диапазон памяти , что песочницы код может получить доступ. Он использует код верификатор , чтобы предотвратить использование небезопасных инструкций , такие как те , которые выполняют системные вызовы. Чтобы предотвратить код от поспешных небезопасных инструкции , скрытой в середине безопасной инструкции, Native Client требует , чтобы все косвенные переходы будут скачки к началу 32-байтовых блоков выравниваются, и инструкции не могут оседлать эти блоки. Из – за этих ограничений, код C и C ++ должен быть повторно запускать под Native Client, который обеспечивает индивидуальные версии набора инструментов GNU , в частности GNU Compiler Collection (GCC), GNU Binutils и LLVM .

Native Client лицензирован под лицензией BSD-стиля .

Native Client использует Newlib в качестве библиотеки C , но порт GNU C Library (GNU LibC) также доступна.

Перец

NaCl обозначает хлорид натрия , поваренной соли ; как каламбур , название перца также было использовано. Pepper API является кросс-платформенным, с открытым исходным кодом API для создания Native модулей клиента. Pepper Plugin API, или PPAPI является кросс-платформенный API для плагинов Native веб – браузер клиента обеспеченных, первый на основе Netscape, NPAPI , затем переписан с нуля. В настоящее время используется в Chromium и Google Chrome включить версию PPAPI в Adobe Flash и встроенный PDF зрителя.

PPAPI

С 12 августа 2009 года, страница на Google Code представила новый проект, перец, и связанный Pepper Plugin API (PPAPI), «набор модификаций NPAPI , чтобы сделать плагин более портативными и более безопасным». Это расширение разработано специально для облегчения реализации внеконкурсного процесса выполнения плагин. Кроме того, цели проекта , чтобы обеспечить основу для создания плагины полностью кросс-платформенным. Рассматриваемые темы включают в себя:

  • Унифицированная семантика NPAPI во всех браузерах.
  • Исполнение в отдельном процессе из визуализатора-браузера.
  • Стандартизировать рендеринг с использованием процесса композитинга браузера.
  • Определение стандартных событий и 2D растеризации функции.
  • Первоначальная попытка предоставить 3D графики доступа.
  • Плагин реестра.

Постоянно развивается Перец API , также поддерживает геймпады (версия 19) и WebSockets (версия 18).

По состоянию на 13 мая 2010 года с открытым исходным кодом браузера Google, Хром , был единственным веб – браузер , чтобы использовать новый браузер плагин модели. В 2015 году, перец поддерживается Chrome, Chromium и моргания расположением двигателя на основе браузеров , таких как Opera.

PPAPI в Firefox

Mozilla Firefox заявил в 2014 году , что они не будут поддерживать Pepper, поскольку нет полной спецификации API вне его реализации в Chrome, который сам по себе предназначена для использования с Blink макет двигателем только и имеет частные API , специфичный для плагина Flash Player , который не документированы. В октябре 2016 года Mozilla объявила о том , что он повторно рассмотрен и изучает ли включить Pepper API и PDFium в будущих версиях Firefox, однако не были предприняты такие шаги.

Приложения

Один сайта использует поваренную соль на сервере , чтобы пользователи могли экспериментировать с языком программирования Go от своих браузеров.

прием

Некоторые группы разработчиков браузеров поддерживают Native Client технологию, но другие этого не делают.

Сторонники

Чад Остин (из IMVU ) похвалил путь Native Client может принести высокопроизводительных приложений в Интернете (с примерно 5% штрафа по сравнению с машинным кодом) в безопасном режиме, а также ускорить эволюцию клиентских приложений, предоставляя выбор от используемого языка программирования (помимо JavaScript ).

Id Software «s Джон Д. Кармак хвалили Native Client на QuakeCon 2012, говоря:«если у вас есть что – то сделать в браузере, Native Client гораздо более интересно , как то , что начиналось как на самом деле чертовски умный x86 хак в пути что они могли песочнице все это в пользовательском режиме интересно. Сейчас это динамическая перекомпиляция, но то , что вы программируете на C или C ++ и компилирует к чему – то , что это будет не ваш -O4 уровень оптимизации для полного нативного кода , но довольно чертовски близко в машинный код. вы можете сделать все ваши злые chasings указателей, и все , что вы хотите сделать в качестве разработчика игр к-металл «.

Недоброжелатели

Другие ИТ-специалисты имеют более важное значение этой песочницы технологий, поскольку оно имеет существенные или существенные проблемы совместимости.

Mozilla «s вице – президент по продуктам, Джей Салливан , сказал , что Mozilla не имеет планов запускать собственный код в браузере, как«Эти нативные приложения просто маленькие черные ящики в веб – страницы. [. ] Мы действительно верим в HTML, и здесь мы хотим сосредоточиться «.

Mozilla, Кристофер Близзард критиковал NaCl, утверждая , что нативный код не может развиваться таким же образом , что исходный код веб-ведомым может. Он также сравнил NaCl с Microsoft, ActiveX технологии, сталкивалась с DLL ад .

Хокон Wium Ли , технический директор оперы, считает , что «NaCl , кажется,„Тоска по недобрые старые времена, до сети“», и что «Native Client о построении новой платформы – или перенос старой платформы в веб [. ..] это принесет в вопросах сложности и безопасности, и он заберет фокус с веб – платформы «.

Второе поколение

Второе поколение Песочница разработан в Google является gVisor. Он предназначен для замены NaCl в Google Cloud , чтобы быть более точным в Google App Engine .

Установка и настройка плагинов браузера Google Chrome

Пользуетесь ОС Windows, Mac или Linux? Браузер Google Chrome поддерживает самые популярные плагины:

Пользователи Windows 8: из-за ограничений системы, только плагины, использующие API Pepper, например, Flash, Native Client и Просмотр документов PDF в Chrome, функционируют должным образом, когда Chrome работает как программа Windows 8.

Установка плагинов для браузера

Если позволить сайтам использовать плагины, и Google Chrome обнаружит, что для отображения определенной веб-страницы отсутствует плагин, вверху страницы появится предложение установить этот плагин.

В сообщении нажмите Установить плагин . Для некоторых плагинов установка начинается с загрузки файла на компьютер. Чтобы подтвердить загрузку этих плагинов, нажмите кнопку «Сохранить» на панели загрузок, которая появится внизу окна браузера. Когда загрузка завершится, перезагрузите Google Chrome, закрыв все открытые окна, чтобы закончить процесс установки.

Блокировка плагинов Google Chrome

Плагины разрешены по умолчанию. Однако поскольку иногда они могут представлять угрозу, Google Chrome блокирует устаревшие или редко используемые плагины. Например, Java, RealPlayer, QuickTime, Shockwave, Windows Media Player и Adobe Reader старше Adobe Reader X. Чтобы заблокировать все плагины, можно воспользоваться диалоговым окном Настройки содержания.

Выполните следующие действия:

  1. Нажмите меню Chrome и выберите Настройки.
  2. Выберите Показать расширенные настройки.
  3. В разделе «Конфиденциальность» нажмите кнопку Настройки содержания .
  4. В разделе «Плагины» выберите один из вариантов ниже.
    • Нажать, чтобы воспроизвести. Chrome заблокирует все плагины. Однако, можно нажать значок плагина, чтобы запустить его на этот раз.
    • Блокировать все. Chrome заблокирует запуск всех плагинов.

Чтобы настроить разрешения для определенных сайтов, нажмите кнопку Управление исключениями .

Запуск заблокированных плагинов

  • Если выбрать опцию Нажмите, чтобы воспроизвести на странице, где заблокированы плагины, появятся серые поля. В центре окна нажмите значок плагина, чтобы запустить его на этот раз.
  • Если выбрать опцию Блокировать все плагины, в адресной строке появится значок заблокированного плагина, а на странице, где заблокирован плагин, появятся серые поля. Чтобы изменить настройки плагинов для определенного сайта, нажмите значок заблокированного плагина.
    • В появившемся меню нажмите Всегда показывать плагины , чтобы разрешить запуск плагинов на этом сайте в будущем. Для сайта будет добавлено исключение.
    • Чтобы запустить все плагины только в течение этого посещения, нажмите кнопку Запустить все плагины этот раз . Запрос появится снова при следующем посещении этого сайта.
    • Нажмите Настройка блокирования плагинов, чтобы управлять настройками плагинов для браузера.
  • Чтобы всегда разрешать определенному плагина запускаться на каждом сайте, перейдите на страницу chrome://plugins , найдите этот плагин и поставьте флажок Всегда разрешать .
  • Устаревшие плагины блокируются по умолчанию. Когда браузер блокирует устаревшие плагины, вверху страницы отображается сообщение. Нажмите Запуск этот раз в сообщении, чтобы запустить устаревший плагин (не рекомендуется).

Выключения определенных плагинов

Можно полностью отключить определенные плагины. В отличие от заблокированных плагинов, отключены плагины не удастся запустить на определенной странице. Посещая страницу с заблокированным плагином, на месте плагина вы увидите сообщение «Плагин отсутствует».

Чтобы отключить плагины, перейдите на страницу плагинов: chrome://plugins . Найдите плагин, который необходимо отключить и нажмите Отключить . Также на этой странице можно снова включить отключенные плагины.

Другой способ перейти на страницу плагинов – нажать ссылку Отключить отдельные модули в разделе «Плагины» диалогового окна «Настройки содержания».

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: