跨浏览器插件框架中的比较

时间:2015-11-04 11:18:06

标签: plugins cross-browser cross-platform firebreath browser-plugin

我发现浏览器插件有很多框架。

我的第一个问题: 为插件指定了以下哪个框架,以及未为插件指定哪个框架: FireBreath,OpenForge,Kango,BabelExt,Nixysa项目,JUCE项目,QtBrowserPlugin项目。

我的第二个问题: 除了那些之外,还有其他流行的插件框架吗?

我的第三个问题: 这些流行的插件框架的主要区别是什么? 确实,这些框架有任何比较,比较可以是以下每个术语:

  1. 可用性(用于作为NPAPI插件的页面或用作浏览器的浏览器) 附加扩展),
  2. 简单(在开发中),
  3. 速度(执行时),
  4. 可扩展性(已开发的附加组件),
  5. 可用性(在Windows 86x和64x,Unix,Linux,Mac和其他 平台和移动平台,特别是android,ios,...),
  6. 灵活性(适用于新技术),
  7. 可靠性(在安全性方面),
  8. 辅助功能(开源与否),
  9. 便携性(在Fire-fox,chrome,IE,Safari,Opera等中),
  10. 适用性(绘图,沟通,来自外部的呼叫)  服务器,线程,网络访问等,
  11. 稳定性(在更改策略时,例如在弃用中)  NPAPI)
  12. 此外,我已阅读Cross-Browser Extensions API?,我认为这是关于扩展程序的框架(不是插件的框架)

1 个答案:

答案 0 :(得分:1)

我说实话 - 这似乎是你应该能够通过一些谷歌搜索来回答的问题。我感谢您至少尝试应用如何更好地提出问题的建议,所以我会回答一些我知道的事情。

FireBreath是用于创建浏览器插件而非扩展的C ++框架。它可以作为支持NPAPI插件的浏览器的NPAPI插件(以前只有IE浏览器,但Chrome今年不再支持它们,Firefox计划在2016年底)或作为ActiveX控件,为浏览器提供相同的功能Internet Explorer中的插件。到目前为止,FireBreath 2正在运行但文档记录不佳,它将API从浏览器和插件之间的同步变为异步,并添加了一个模拟层,让他们可以使用Native Messaging与Google Chrome配合使用。据我所知,它是最完整和最新的插件框架。我是它的主要作者,所以请随时自行确认。

Nixysa是一个获取定义文件并输出NPAPI插件代码的工具。我还没有使用它,所以我无法准确地告诉你它的功能是什么。自2012年添加PPAPI支持以来,它尚未更新;但是,这不太可能有用,因为从那时起PPAPI发生了重大变化,而且因为唯一可以在没有特殊命令行标志的情况下运行的PPAPI插件是由Chrome团队特别祝福的。

JUCE是一个GPL库,提供商业许可证,对创建浏览器插件有一些支持。我不知道这些日子有多么强大;当我上次看到它时,它看起来写得很好,并采用比FireBreath更简约的方法; FireBreath为你提供了一个框架,并尝试让一切正常工作,而JUCE似乎(我可能是错的)更多的是提供构建基块,但不要试图让一切看起来都一样#&# 34;事物的类型。

QtBrowserPlugin是一个已解散的非维护项目,它曾一度允许使用QT创建浏览器插件(可能只是npapi,但不确定)。有迹象表明它可能不再起作用了。

我不知道其他项目是什么。如果我是你,我会尝试做一些研究。谷歌是你的朋友。