Native client что это за программа

Native Client — что это за плагин в браузере Google Chome?

Нужен ли плагин Native Client в браузере Google Chrome?

комментировать
в избранное up —>
Katja­ K [34]
6 лет назад

Плагин Native Client это плагин поддержки графики или звука высокого качества в приложениях.

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

Источник: www.bolshoyvopros.ru

Native Client

Native Client (NaCl) — технология песочницы для запуска кода на платформах x86, x86-64, ARM и MIPS, позволяющая безопасно запускать машинный код непосредственно в браузере независимо от операционной системы со скоростью, приближённой к запуску машинного кода. Эта технология также может быть использована для создания защищённых плагинов для браузера, частей какого-либо приложения либо самих приложений [1] , например ZeroVM [en] .

Native Client: When to use the technology

Чтобы показать готовность технологии, 9 декабря 2011 года Google представила игру [2] с богатой графикой (на данный момент игра уже недоступна). NaCl использует аппаратное ускорение 3D-графики через OpenGL ES 2.0, запускаясь в песочнице local storage с возможностью полноэкранного режима и взаимодействием с мышью. [3] [4]

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

Технология NaCl избегает этого, используя песочницу.

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

12 октября 2016 в баг-трекере проекта Chromium появился комментарий [5] , упоминающий о роспуске команд, работающих над Google’s Pepper и Native Client.

30 мая 2017 Google объявила об отказе от PNaCl в пользу WebAssembly. [6]

Описание

Native Client является проектом с открытым исходным кодом. К настоящему времени Quake [7] , XaoS [en] , Battle for Wesnoth, Doom, Lara Croft and the Guardian of Light, From Dust и MAME, а также система программного синтезирования звука Csound были портированы на Native Client. Технология доступна в браузере Google Chrome начиная с версии 14 [8] и активирована по умолчанию начиная с версии 31, в которой был официально представлен Portable Native Client (PNaCl). [9]

Native Client: How to get started

Реализация технологии на платформе ARM была выпущена в марте 2010. [10] Платформы x86-64, IA-32 и MIPS поддерживались изначально.

Для запуска при помощи технологии PNaCl приложение должно быть скомпилировано в архитектурно-независимый байт-код формата LLVM. [11] Созданные таким образом исполняемые файлы называются PNaCl executable (pexe). Средства сборки PNaCl производят .pexe файлы; NaCl — .nexe. .nexe файлы имеют сигнатуру 0x7F ‘E’ ‘L’ ‘F’ (т.е. являются ELF файлами). Chrome для запуска транслирует pexe в архитектурно-зависимые исполняемые файлы.

NaCl использует программное обнаружение ошибок и защиту песочницы в платформах x86-64 и ARM. [12] Реализация в x86-32 отличается новым способом организации песочницы. [13] По технологии песочницы Native Client устанавливает свои сегменты памяти в архитектуре x86. Также используется верификатор кода для предотвращения вызова небезопасных системных вызовов. Для предотвращения перехода в незащищённую часть вызова Native Client требует, чтобы все косвенные переходы начинались с 32-байт-выровненных блоков, кроме того, инструкциям не разрешается покидать данные блоки. [13] Из-за этих ограничений код, написанный на Си или C++, должен быть перекомпилирован особым образом для запуска с применением технологии Native Client, что может быть сделано с помощью специализированных версий GNU toolchain, в частности, GNU Compiler Collection, GNU Binutils и LLVM.

Native Client использует Newlib в качестве стандартной библиотеки языка Си, однако порт GNU C Library также доступен. [14]

Pepper

Pepper API — кроссплатформенное свободное API для создания модулей для Native Client. Плагин Pepper API (англ. Pepper Plugin API , сокр. PPAPI) — кроссплатформенное API для защищённых технологией Native Client плагинов, основанное на NPAPI, но полностью переписанное. На данный момент используется в Chromium-подобных браузерах для запуска PPAPI-версии Adobe Flash [15] и встроенной программы просмотра PDF-файлов [16] .

PPAPI

12 августа 2009 на странице Google Code был представлен проект Pepper, связанный с разработкой плагина Pepper API, [17] на которой было написано, что PPAPI — набор модификаций NPAPI для создания подобных плагинов более переносными и безопасными [18] . Плагин был создан для лёгкой реализации запуска вне процесса. В дальнейшем целью проекта стало обеспечение основы для создания полностью кроссплатформенных плагинов. Планировалось реализовать данные технологии:

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

В дальнейшем использование PPAPI помогло реализовать поддержку геймпадов и WebSocket. [ источник не указан 2331 день ]

Начиная с 13 мая 2010 года Chromium стал единственным браузером, поддерживающим новую модель плагинов. [19] Mozilla Firefox не поддерживает Pepper, так как нет полной спецификации API за пределами её реализации в Chrome, которая была создана только для браузерного движка Blink. По состоянию на 2016 год Pepper поддерживается в Chrome, Chromium и браузерах на Blink, например Opera.

Проекты на Native Client

Существует сайт The Go Playground Архивная копия от 17 ноября 2021 на Wayback Machine, использующий данную технологию для того, чтобы позволить экспериментировать с Go прямо в браузере.

Реакция общества

Чад Остин (англ. Chad Austin , создатель IMVU [en] ) похвалил путь Native Client по созданию высокопроизводительных приложений для веб (с производительностью всего лишь на 5 % меньше машинного кода), в то же время позволяя развивать клиентские приложения, предоставляя возможность выбора языка программирования (кроме JavaScript). [20]

Джон Кармак, совладелец компании Id Software, упомянул Native Client на QuakeCon 2012:

Если вам нужно сделать что-то в браузере, куда более интересен Native Client, который начался как по-настоящему умный хак x86, с помощью которого возможно сделать нужное, не выходя из песочницы уровня доступа пользователя. Теперь есть динамическая перекомпиляция, и то, что вы пишете на C или C++, компилируется в нечто, что не является высокооптимизированным машинным кодом, но чрезвычайно близко к машинному коду. Вы можете делать любые сумасшедшие операции с указателями и всё прочее, что привыкли делать разработчики игр на уровне железа.

Оригинальный текст (англ.) :

if you have to do something inside a browser, Native Client is much more interesting as something that started out as a really pretty darn clever x86 hack in the way that they could sandbox all of this in user mode interestingly. It’s now dynamic recompilation, but something that you program in C or C++ and it compiles down to something that’s going to be not your -O4 optimization level for completely native code but pretty damn close to native code. You could do all of your evil pointer chasings, and whatever you want to do as a to-the-metal game developer.

Вице-президент Mozilla Джей Салливан (англ. Jay Sullivan ) сообщил, что у Mozilla нет планов запускать машинный код в браузере, так как

Эти нативные приложения являются чёрными ящиками на веб-странице. […] Мы верим в технологию HTML, и именно в неё мы вложим свои силы.

Оригинальный текст (англ.) :

These native apps are just little black boxes in a webpage. […] We really believe in HTML, and this is where we want to focus.

Сотрудник Mozilla Кристофер Близзард [en] раскритиковал технологию NaCl, утверждая, что машинный код ни в коей мере не должен быть использован в вебе. Также он сравнил NaCl с технологией Microsoft ActiveX, которая достигла ситуации DLL hell. [1]

Хокон Виум Ли (норв. Håkon Wium Lie ) , технический директор Opera, верит, что

NaCl как будто «стремится в те старые плохие времена, до веба» […] Суть Native Client в построении новой платформы — или портировании старой в веб […] что привнесёт сложность и проблемы безопасности и лишит веб-платформу внимания.

Оригинальный текст (англ.) :

NaCl seems to be ‘yearning for the bad old days, before the web’ […] Native Client is about building a new platform – or porting an old platform into the web […] it will bring in complexity and security issues, and it will take away focus from the web platform.

Читайте также:
Программа ерп 1с что это такое

Брендан Эйх, технический директор Mozilla, сказал, что ECMAScript 6 вполне достаточно, чтобы удовлетворить все потребности в создании приложения для веб. [23]

См. также

Примечания

  1. ↑ 1,01,11,2Metz, Cade. Google Native Client: The web of the future — or the past?(англ.) (12 September 2011). Архивировано 6 августа 2016 года.Дата обращения 6 августа 2016.
  2. ↑Ходаковский, Константин. Новая технология Google Chrome приносит игру Bastion в браузер (13 декабря 2011). Архивировано 21 августа 2016 года.Дата обращения 6 августа 2016.
  3. ↑Stefansen, Christian. Games, apps and runtimes come to Native Client(англ.) (9 December 2011). Архивировано 19 августа 2016 года.Дата обращения 6 августа 2016.
  4. ↑Rosenblatt, Seth. Native Client turns Chrome into high-end gaming platform(англ.) (9 December 2011). Архивировано 27 апреля 2016 года.Дата обращения 6 августа 2016.
  5. ↑Bugs.chromium.org(англ.). bugs.chromium.org (12 ноября 2016). Дата обращения: 7 марта 2018.Архивировано 18 августа 2017 года.
  6. ↑Goodbye PNaCl, Hello WebAssembly!(англ.), Chromium Blog (30 May 2017). Архивировано 30 мая 2017 года.Дата обращения 7 марта 2018.
  7. ↑Humphries, Matthew. Google shows off Quake-clone running in Native Client(англ.) (13 May 2010). Архивировано 21 августа 2016 года.Дата обращения 6 августа 2016.
  8. ↑Chen, Brad. A new Stable release of Chrome, expanding the frontiers of the web(англ.) (16 September 2011). Архивировано 20 августа 2016 года.Дата обращения 6 августа 2016.
  9. ↑Sehr, David. Portable Native Client: The «pinnacle» of speed, security, and portability(англ.) (12 November 2013). Архивировано 13 мая 2016 года.Дата обращения 6 августа 2016.
  10. ↑Sehr, David. Native Client support on ARM(англ.) (22 January 2013). Архивировано 27 июля 2016 года.Дата обращения 6 августа 2016.
  11. ↑Alan Donovan, Robert Muth, Brad Chen, David Sehr.PNaCl: Portable Native Client Executables(англ.) (22 февраля 2010). Архивировано 12 марта 2016 года.
  12. ↑David Sehr, Robert Muth, Cliff L. Biffle, Victor Khimenko, Egor Pasko, Bennet Yee, Karl Schimpf, Brad Chen.Adapting Software Fault Isolation to Contemporary CPU Architectures(англ.) (2010). Дата обращения: 6 августа 2016.Архивировано 24 июля 2016 года.
  13. ↑ 13,013,1Bennet Yee, David Sehr, Greg Dardyk, Brad Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, Nicholas Fullagar.Native Client: A Sandbox for Portable, Untrusted x86 Native Code(англ.) (2009). Дата обращения: 6 августа 2016.Архивировано 12 сентября 2016 года.
  14. ↑Building(англ.). Дата обращения: 6 августа 2016.Архивировано 9 ноября 2016 года.
  15. ↑Schuh, Justin. The road to safer, more stable, and flashier Flash(англ.) (8 August 2012). Архивировано 29 июля 2016 года.Дата обращения 6 августа 2016.
  16. ↑Metz, Cade. Google hugs Adobe harder with Chrome-PDF merge(англ.) (18 June 2010). Архивировано 6 августа 2016 года.Дата обращения 6 августа 2016.
  17. ↑ppapi(англ.). Дата обращения: 6 августа 2016.Архивировано 6 октября 2016 года.
  18. ↑ppapi — Concepts.wiki(англ.). Дата обращения: 6 августа 2016.Архивировано 6 октября 2016 года.
  19. ↑Metz, Cade. Google heats up native code for Chrome OS(англ.) (13 May 2010). Архивировано 17 января 2019 года.Дата обращения 6 августа 2016.
  20. ↑Chad Austin.In Defense of Language Democracy (Or: Why the Browser Needs a Virtual Machine)(англ.) (8 января 2011). Дата обращения: 6 августа 2016.Архивировано 16 августа 2016 года.
  21. ↑Видеоролик QuakeCon 2012 (начало на 2 часу, 36 минута, 18 секунда) на YouTube, начиная с 2:36:18
  22. ↑Metz, Cade. Mozilla: Our browser will not run native code(англ.) (24 June 2010). Архивировано 26 августа 2016 года.Дата обращения 6 августа 2016.
  23. ↑Krill, Paul. JavaScript founder dismisses Google Native Client, pushes ECMAScript 6(англ.) (31 May 2012). Архивировано 20 сентября 2016 года.Дата обращения 6 августа 2016.

Ссылки

  • Chen, Brad. Native Client: A Technology for Running Native Code on the Web(англ.) (8 December 2008). Архивировано 19 августа 2016 года.Дата обращения 6 августа 2016.
  • Light Media.NaclBox(англ.). Дата обращения: 15 марта 2022.Архивировано 18 сентября 2021 года.
  • Председатель совета директоров : Эрик Шмидт
  • Директор, президент по технологиям и сооснователь : Сергей Брин
  • Главный исполнительный директор и сооснователь : Ларри Пейдж
    Материнская компания: Alphabet

Источник: xn--h1ajim.xn--p1ai

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 подумали лучше.

GameDev уже вовсю штампует игрушки для 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 и браузер

Кроме того, 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-модуль и служит вместилищем дополнительных настроек для тонкого тюнинга.

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

Официальная страница Native Client

Так как мы собирались делать 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
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.

Источник: xakep.ru

Пользователи текущей стабильной версии 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.

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

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

Источник: steptosleep.ru

chrome-native: // newtab / | Собственный клиент Google и Google Chrome

Chrome-native://newtab/ | chrome native new tab

“хром-родной: // newtab /«- Все, что вам нужно знать о собственном клиенте Google и Google Chrome. Привет всем, я вернулся с очередной статьей Gossipfunda, в которой вы найдете полезные уроки, советы и приемы. На этот раз я хотел бы поговорить о chrome-native: // newtab / и собственном клиенте Google. Native Client был очень полезным и революционным, но вызывающим споры в Интернете.

Получение некоторой информации об этом может оказаться очень полезным. Я также коснусь темы браузера Chrome и некоторых полезных советов, которые помогут при его использовании в следующий раз. Я постараюсь рассказать о различных способах настройки браузера Chrome. Надеюсь, эта статья вам пригодится, и приступим.

Chrome — это самый популярный браузер в мире прямо сейчас, и не похоже, что он скоро выйдет из строя. Вот почему для увеличения и расширения использования Google разработал собственный клиент Chrome. Native Client, впервые официально выпущенный в 2011 году, был разработан, чтобы предоставить платформу для выполнения собственных программ C / C ++ без какой-либо значительной потери эффективности в производительности. В этой статье я постараюсь охватить большинство вещей, связанных с этими темами, а также предоставлю вам несколько руководств.

Не пропустите: Как отключить звук на вкладке: Chrome

Google

В наши дни я не думаю, что вы сможете найти хоть одного человека, который не слышал бы имя «Google». То, что началось как увлекательный проект для двух докторов наук. студентов, сегодня это одна из самых престижных и уважаемых компаний в мире. Поисковую систему Google нашли Ларри Пейдж и Сергей Брин, когда они учились на докторскую степень. в Стэнфордском университете в Калифорнии.

Что отличало Google от конкурентов, так это собственный алгоритм поисковой системы Ларри Пейджа, известный как PageRank, который он написал в соавторстве с Сергеем. В настоящее время PageRank — не единственный алгоритм, используемый поисковой системой. После быстрого роста компании в начале 2000-х годов она быстро расширила свои предприятия и в других областях ИТ.

Google запустил такие службы, как почтовые службы, служебные программы для повышения производительности труда, службы обмена мгновенными сообщениями и видеочаты, chrome-native: // newtab / и многие другие. Google Docs — один из наиболее часто используемых в мире инструментов для обработки документов из-за его бесплатного характера.

Точно так же Gmail также является наиболее часто используемым почтовым сервисом в мире. Google также владеет и разрабатывает самую используемую в мире мобильную операционную систему Android. Также была разработана облегченная операционная система на основе браузера Chrome, известная как ChromeOS. Одними из самых популярных брендов смартфонов являются Google Pixel и Nexus.

Google также попытался начать предоставлять услуги интернет-оператора с помощью Google Fiber, Google Fi и Google Station. Самый популярный в мире сайт и сервис потокового видео Youtube также принадлежит и управляется Google.

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

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

В 2015 году в ходе реструктуризации Google учредила Alphabet Inc. в качестве своей материнской компании. На момент написания Сундар Пичаи является генеральным директором (главным исполнительным директором) Google и Alphabet Inc.

Гугл Хром

Google Chrome — самый популярный веб-браузер в мире. Примерно в 2004 году появились первые слухи о разработке браузера Chrome. В то время Mozilla Firefox был самым популярным браузером, который все загружали. Это убедило Google нанять некоторых бывших разработчиков Firefox для создания прототипа Chrome. Разработкой браузера руководил нынешний генеральный директор Google Сундар Пичаи.

Браузер официально был выпущен в 2008 году. По оценкам, в 2020 году Chrome занимал 70% всего рынка браузеров. С момента своего выпуска в 2008 году Chrome приобрел такую ​​популярность, что превратился в его бренд. Это привело к разработке других продуктов с именем Chrome, таких как Chrome OS, Chromebook, Chromecast, Chromebase, ChromeПродолжить, и несколько других. Ни один из других продуктов не имел большого успеха.

Браузер Chrome работает на движке V8 Javascript, а не на движке Gecko, который использует Firefox. Движок V8 JS был разработан как отдельный проект в Дании Ларсом Баком (считающимся гением Javascript). Большая часть исходного кода, используемого Google Chrome, была получена из проекта веб-браузера с открытым исходным кодом Google, известного как Chromium. Вы можете найти его репозиторий здесь. Одним из наиболее важных аспектов, на которые обращали внимание во время разработки, было создание легкого и быстрого браузера. Chrome очень хорошо использует свой минималистичный пользовательский интерфейс, предоставляя максимальное пространство для работы, при этом предоставляя все настройки для chrome-native: // newtab /.

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

Google Chrome из-за своей популярности был перенесен на огромное количество платформ. Эти платформы включают Windows, macOS, Linux, Android и iOS. Браузер Chrome предустановлен на каждом смартфоне Android вместе с большим количеством других приложений Google.

Собственный клиент Google

Google при разработке ChromeOS, операционной системы на основе браузера Chrome, стремился запускать веб-приложения с их скоростью, близкой к родной. Это позволит увеличить количество портов приложений для ОС на базе браузера, не беспокоясь о проблемах с производительностью и скоростью. Вот почему они разработали собственный клиент.

Native Client (также известный как NaCl или обычная соль) — это технология, которая позволяет выполнять собственный код C / C ++ почти с той же скоростью. Чтобы продемонстрировать NaCl и его возможности, были выпущены полноценные версии игр с богатым процессором, таких как Bastion, только для Chrome. Первый стабильный выпуск он увидел в 2011 году.

хром-родной: // newtab /

Вы могли видеть «хром-родной: // newtab /»Появляются раньше на вашем устройстве. Пользователи в основном сообщают, что видели это в Раздел активности Google в котором хранится большинство действий, выполняемых на смартфоне. Стоит ли беспокоиться, если это всплывет? Определенно нет.

Это обычное занятие, которое было записано когда вы посещали новую вкладку в Google Chrome на вашем устройстве. В этом нет ничего подозрительного. Как правило, URL-адреса типа chrome-native: // newtab /, chrome: // settings, chrome: // version, content: //com.android.browser.home/ и другие способы доступа к встроенным страницам Chromes.

Включение собственного клиента Google

Включить собственный клиент или NaCl в браузере Chrome довольно просто, просто выполните следующие действия.

  1. Откройте браузер Chrome.

  1. Выберите поле URL и введите хром: // флаги и нажмите Enter.

  1. Откроется вкладка «Флаги».

  1. В поле поиска введите «nacl». Это должно вызвать только параметр enable-nacl.

  1. Выберите «Включить» в раскрывающемся меню, где указано «Отключено».

  1. Появится запрос на перезапуск Chrome. Нажмите кнопку «Перезапустить», и Chrome перезапустится.

При следующем перезапуске Chrome Native Client будет активирован. Вы можете просмотреть полную документацию по NaCl здесь.

Настройка новой вкладки

Настройка новой вкладки Chrome на собственный URL — не изнурительная задача. Вам просто нужно выполнить следующие действия:

  1. Снова вам нужно открыть браузер Chrome.
  2. Нажмите на три точки в правом верхнем углу окна.

  1. В раскрывающемся меню выберите параметр настроек.

  1. Из дополнительных настроек, доступных с левой стороны, выберите При запуске.

  1. Установите переключатель «Добавить новые ссылки» и нажмите «Добавить новую страницу».

  1. Введите желаемый URL. Я использую duckduckgo.com как свою.

Это установит введенный URL-адрес в качестве страницы новой вкладки, и это будет первая страница, открывающаяся при запуске Chrome.

Некоторые хитрости Android Chrome

Вывод

Итак, мы подошли к концу этой статьи. Мы подробно обсудили Google, Google Chrome и Native Client. Мы также обсудили метод включения Native Client на вашем ПК и руководства по изменению страницы новой вкладки в Chrome. Я также говорил об URL-адресе хром-родной: // newtab / которые могут появиться в вашей области деятельности. Я также поделился с вами некоторыми полезными советами и приемами, которые могут немного упростить работу с Chrome.

Надеюсь, эта статья была для вас полезной. Если это так, поделитесь этим со своими друзьями и семьями и оставайтесь в безопасности. Увидимся в следующей статье.

xExport хром закладки android

Похожие сообщения:

  • Самые популярные браузеры среди американских студентов
  • Флаги Chrome: chrome: // flags
  • Новое обновление группировки вкладок в Chrome 2021
  • Необычный трафик Google: исправьте ошибку
  • Веб-просмотр системы Android
  • Как просмотреть сохраненные пароли на Chrome в Android?

Источник: ru.teetalent.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru