<分区>
我是 Native Client 的新手;也是插件/扩展的新手。我觉得插件/扩展在某些方面比 NaCl“更好”:
可以在任何地方/以任何方式编译插件/扩展以生成普通的旧 DLL 或 .so; NaCL 需要仅由 NaCl 工具链生成的二进制文件。
插件/扩展可跨浏览器移植(例如,它应该在 FIrefox 等以及 Chrome 中运行)。这是因为插件/扩展遵循 Netscape 3 中引入的事实上的标准。
如果这一切都是真的,那么 NaCl 相对于插件/扩展的优势是什么?
<分区>
我是 Native Client 的新手;也是插件/扩展的新手。我觉得插件/扩展在某些方面比 NaCl“更好”:
可以在任何地方/以任何方式编译插件/扩展以生成普通的旧 DLL 或 .so; NaCL 需要仅由 NaCl 工具链生成的二进制文件。
插件/扩展可跨浏览器移植(例如,它应该在 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 中手动安装 scala-maven-plugin
javascript - 在监控XMLHttpRequest时,如何检测请求是否是xhr?
javascript - launchWebAuthFlow 回调没有运行,Chrome 扩展窗口立即关闭?
javascript - 使用 `which` 属性以编程方式触发 keydown 事件