Microsoft的ActiveX和Google的Native Client都允许您构建在浏览器中执行本机编译代码的Web应用程序。除了它们在不同的浏览器和操作系统上运行之外,它们之间的技术差异是什么?
答案 0 :(得分:7)
这不是一个很好的比较; NPAPI和Native Client可能是比较好的东西。 ActiveX仅适用于IE,NPAPi适用于其他浏览器(包括Chrome)。
Native Client执行由特殊编译器编译的代码,该编译器阻止您使用某些类型的操作并提供一些沙盒等;它旨在允许您编写本机代码,但仍然强制执行浏览器已遵循的许多安全限制。对于可能的事情,它很棒 - 只要你可以在你想要使用的浏览器中使用它。目前它受谷歌Chrome支持,但我没有听说它可以在任何其他浏览器中使用。
相反,使用NPAPI或ActiveX(并参见FireBreath允许您同时定位两种类型),您可以编写本机代码并执行或多或少的正常应用程序可以执行的操作(除了在Vista / Win7上的IE中) w / UAC在低完整性模式下启用。)
NaCl的最大缺点可能是您无法访问硬件;因为它是沙箱,所以你可以做的网络事情有限,而且你可以与哪些设备接口的限制更多。
我强烈建议您阅读有关NaCl的常见问题:http://code.google.com/chrome/nativeclient/faq.html
对我来说,对于我的任何需要插件的项目来说,NaCl不是一个可行的选择,原因很简单only Google Chrome seems to be completely and officially supported。
答案 1 :(得分:2)
Native Client为本机代码提供了更安全的环境。而ActiveX允许本机代码以用户的完全权限运行。