Pet*_*son 2 plugins google-chrome google-chrome-extension google-nativeclient
我是Native Client的新手; 也是插件/扩展的新手.令我印象深刻的是插件/扩展在某些方面比NaCl"更好":
可以在任何地方/无论如何编译插件/扩展来生成普通的旧DLL或.so; NaCL需要仅由NaCl工具链生成的二元化.
插件/扩展程序可以跨浏览器移植(例如,它应该在FIrefox和更多版本以及Chrome中运行).这是因为插件/扩展符合Netscape 3中引入的事实标准.
如果这一切都是真的,那么NaCl相对于插件/扩展有什么优势呢?
总之一句:安全.NPAPI插件是不可拆卸的.它们是本机代码,运行在进程外以及浏览器的沙箱之外,这意味着它们可以在您的计算机上执行任何操作.
另一方面,NaCl在Chrome的沙箱中运行,并且仅提供对定义良好的API集的访问.聪明的编译技巧确保代码不会爆发并(有意或无意)恶意执行不受信任的方法.
http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics是一个很好的资源,可以概述差异.我建议至少略读它以了解NaCl试图实现的目标.
首先,你一直在说"插件/扩展",但扩展和NPAPI插件完全不同.NPAPI插件是二进制的,并且(如你所说)跨浏览器.扩展程序是每个浏览器; 每个浏览器都有自己的扩展API和功能集,但它们通常用HTML/CSS/JS编写.
至于你的问题:除了另一个答案中提到的非常重要的安全方面:平台可移植性.如果你想在NPAPI中进行绘图,事件处理,播放声音等,你需要编写三个完全不同的实现--Windows,Mac和Linux - 你需要发送三个单独的插件副本.NaCl/Pepper具有平台中立的抽象功能.
归档时间: |
|
查看次数: |
2391 次 |
最近记录: |