5

Microsoft 的 ActiveX 和 Google 的 Native Client 都允许您构建在浏览器中执行本机编译代码的 Web 应用程序。除了它们在不同的浏览器和操作系统上运行之外,它们之间的技术差异是什么?

4

2 回答 2

7

这不是一个很好的比较;比较 NPAPI 和 Native Client 可能更好。ActiveX 仅适用于 IE,NPAPi 适用于其他浏览器(包括 Chrome)。

Native Client 执行由特殊编译器编译的代码,该编译器阻止您使用某些类型的操作并提供一些沙盒等;它旨在允许您编写本机代码,但仍强制执行浏览器已经遵循的许多安全限制。对于可能的事情,它很棒——只要你能让它在你想使用的浏览器中工作。目前谷歌浏览器支持它,但我还不确定它是否可以在任何其他浏览器中运行。

相反,使用 NPAPI 或 ActiveX(请参阅允许您同时针对两种类型的FireBreath),您编写本机代码并或多或少地做任何普通应用程序可以做的事情(除了在您所在的位置启用 UAC 的 Vista/Win7 上的 IE 中)在低完整性模式下)。

NaCl 的最大缺点可能是您无法访问硬件;由于它是沙盒化的,因此您可以做的联网事情受到更多限制,并且可以与哪些设备交互受到更多限制。

我强烈建议阅读有关 NaCl 的常见问题解答:http ://code.google.com/chrome/nativeclient/faq.html

对我来说,对于我的任何需要插件的项目来说,NaCl 都不是一个可行的选择,原因很简单,似乎只有 Google Chrome 完全得到官方支持

于 2011-10-31T01:51:12.410 回答
2

本机客户端为本机代码的执行提供了更安全的环境。而 ActiveX 允许本机代码以用户的完全权限运行。

于 2011-10-30T22:17:20.180 回答