google-chrome - Google Chrome Native Client 与插件或扩展程序的比较

标签 google-chrome plugins google-chrome-extension google-nativeclient

<分区>

我是 Native Client 的新手;也是插件/扩展的新手。我觉得插件/扩展在某些方面比 NaCl“更好”:

  1. 可以在任何地方/以任何方式编译插件/扩展以生成普通的旧 DLL 或 .so; NaCL 需要仅由 NaCl 工具链生成的二进制文件。

  2. 插件/扩展可跨浏览器移植(例如,它应该在 FIrefox 等以及 Chrome 中运行)。这是因为插件/扩展遵循 Netscape 3 中引入的事实上的标准。

如果这一切都是真的,那么 NaCl 相对于插件/扩展的优势是什么?

最佳答案

一句话:安全。 NPAPI 插件不可沙盒化。它们是 native 代码,在进程外和浏览器沙箱之外运行,这意味着它们可以在您的计算机上执行任何操作。

另一方面,NaCl 在 Chrome 的沙箱中运行,并且只提供对一组定义良好的 API 的访问。巧妙的编译技巧可确保代码无法中断并开始(有意或无意地)恶意执行不受信任的方法。

http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics是概述差异的良好资源。我建议至少浏览一下它以了解 NaCl 试图实现的目标。

关于google-chrome - Google Chrome Native Client 与插件或扩展程序的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9715412/

相关文章:

javascript - node js express 在输入时检测谷歌浏览器的地址栏自动完成

javascript - Chrome 扩展程序从页面获取电子邮件

java - 帮助在 Eclipse 中创建重构插件?

node.js - 禁用 Mongoose 架构中的插件

java - 在 Eclipse 中手动安装 scala-maven-plugin

javascript - 在监控XMLHttpRequest时,如何检测请求是否是xhr?

javascript - launchWebAuthFlow 回调没有运行,Chrome 扩展窗口立即关闭?

javascript - 使用 `which` 属性以编程方式触发 keydown 事件

javascript - 无法从 Chrome 扩展发送 http 请求

jquery - 通过 Chrome 扩展检测网页中的所有 <object>/<embed> 标签