Ian*_*ert 5 npapi google-chrome-extension google-nativeclient firebreath ppapi
我最近开发了一个google chrome扩展程序,它使用了使用FireBreath框架制作的NPAPI插件.我刚刚发现谷歌将很快停止使用这些类型的插件,并最终禁止使用它们的所有现有扩展.所以,我想最终转向NaCl/PPAPI架构,但我不确定这个架构是否甚至可以支持我目前在NPAPI插件中所做的工作.
在我目前的NPAPI插件中,我支持OSX和Windows.在OSX版本上,插件执行system()函数,该函数执行一个小的1行AppleScript.它看起来像这样:
osascript -e 'tell app ...
Run Code Online (Sandbox Code Playgroud)
在Windows版本上,它执行COM库中的函数.两个版本最终都做了同样的事情.我有另一个选择是执行python脚本,如果我要走这条路线,我很可能想在本机组件中嵌入python.
用NaCl/PPAPI可以解决这些问题吗?
小智 5
运行任意system()函数或从COM库执行任意函数的能力是NPAPI弃用的第一个原因.同样用于执行python脚本(当然,您可以在NaCl中执行python脚本 - 但它也无法调用system()函数或COM库).
这不是新闻:正如Chromium发布当天Chrome漫画书中所提到的,NPAPI插件不受限制,这是一个大问题:http://www.google.com/googlebooks/chrome/small_30.html
很明显,即使在那时,这种情况也只能被容忍这么久.插件被容忍了五年,因为一些重要的东西在没有它们的情况下是无法实现的,但现在是时候杀死插件并确保浏览器中没有任何东西可以直接访问操作系统.
如果你想实现目前无法在浏览器中实现的某些功能,因为没有合适的API,正确的方法是在chrome-dev上询问它并将此API添加到Chromium(也可能是其他浏览器).例如,最近添加了对COM端口(而不是库)的访问(请参阅http://developer.chrome.com/apps/app_hardware.html).
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |