2

I have found that there are plenty of frameworks for browser plugins.

my first question: which one of the following frameworks specified for plugins and which one is not specified for plugins: FireBreath, OpenForge, Kango, BabelExt, Nixysa project, JUCE project, QtBrowserPlugin project .

my second question: Is there another popular plugin's framework other than those mentioned?

my third question: What is the main differences of these popular plugin's frameworks? Indeed is there any comparison of these frameworks, the comparison could be in each of following terms:

  1. usability (for a page as a NPAPI plug-in or for a browser as an add-on extension),
  2. simplicity (in developing),
  3. speed (on execution),
  4. extensibility (of developed add-on),
  5. availability (in Windows 86x and 64x, Unix, Linux, mac and other platforms and also mobile platforms specifically android, ios, ...),
  6. flexibility (for new technologies),
  7. reliability (in terms of security),
  8. accessibility (open source or not),
  9. portability (in Fire-fox, chrome, IE, Safari, Opera, ...),
  10. applicability (in drawing, communicating, calling from external server, threading, network accessing, etcetera),
  11. stability (in changing the policies, for example in deprecating NPAPI)

Also I have read Cross-Browser Extensions API? which I think it is about extension's framework (not plugin's framework)

Community
  • 1
  • 1
Hosein Aqajani
  • 1,553
  • 4
  • 26
  • 46
  • You have one serious flaw in this question; you have plugins and extensions grouped together. They aren't related, and they don't do at all the same thing. Trying to compare them is like trying to compare and contrast Mac OS X, Windows, Microsoft Word, and Commander Keen – taxilian Nov 04 '15 at 17:24
  • FireBreath is neglected from the discussion cross-browser extensions because it can't be used to make extensions; it wasn't relevant. – taxilian Nov 04 '15 at 17:26
  • @taxilian thank you, I agree that extensions and plugins are different, however they both add functionality to web browsing. In any case I want to familiar with FireBreath, OpenForge, Kango, BabelExt, Nixysa project, JUCE project, QtBrowserPlugin project and other frameworks in the above eleven aspects. Please make me familiar with this scope. – Hosein Aqajani Nov 05 '15 at 18:11
  • This is *way* too broad; you're asking for a full analysis of 7 different frameworks, of which there are two different groups which have no direct relationship to each other. At the very least, ask a question which specifies a group of related technologies and asks the differences. For one thing, most people who do plugins (like me) don't know squat about extensions and vise versa, so no one person can likely answer this question well. They really aren't related more than peripherally – taxilian Nov 05 '15 at 22:08
  • @taxilian thanks a lot for guidance, So in the first phase I would focus on plugin's frameworks. – Hosein Aqajani Nov 07 '15 at 04:37

1 Answers1

2

I'll be honest -- this seems like something you should be able to answer with some google searching. I appreciate that you're at least trying to apply suggestions on how to better ask questions, though, so I'll respond on the few that I know something about.

FireBreath is a C++ framework for creating browser plugins, not extensions. It works as an NPAPI plugin for browsers supporting NPAPI plugins (previously this was all but IE, but Chrome dropped support for them this year and Firefox plans to at the end of 2016) or as an ActiveX control, giving it equivalent functionality to a browser plugin in Internet Explorer. FireBreath 2, which is working but poorly documented so far, changes the APIs from being synchronous between the browser and plugin to being asynchronous and adds an emulation layer to let them work with Google Chrome using Native Messaging. It's the most complete and up to date of the plugin frameworks, as far as I am aware. I am its primary author, so feel free to get your own confirmation of that.

Nixysa is a tool that takes definition files and outputs code for a NPAPI plugin. I haven't used it, so I can't tell you exactly what it's capabilities are. It hasn't been updated since 2012, when PPAPI support was added; this is unlikely to be useful, though, since PPAPI has changed significantly since then, and also since the only PPAPI plugins that can run without special command-line flags to chrome are ones specially blessed by the Chrome team.

JUCE is a GPL library with a commercial licence available which has some support for creating browser plugins. I have no idea as to how powerful it is these days; it seemed well written when I last looked at it, and takes a much more minimalistic approach than FireBreath does; FireBreath gives you a framework and tries to make everything Just Work, whereas JUCE seems (I could be wrong) to be more of a "provide the building blocks, but don't try to make everything look the same" type of thing.

QtBrowserPlugin is a defunct unmaintained project which at one time allowed creating browser plugins (probably just npapi, but not certain) with QT. Indications are that it probably doesn't work anymore.

I have no idea what the other projects are. If I were you, I'd try doing some research. Google is your friend.

taxilian
  • 14,229
  • 4
  • 34
  • 73
  • I found sth about `kango`: Kango supports extensions for all the major browsers. But, the major drawback of Kango extension is that it builds the extension for open source non-profitable project like Chrome,firefox. etc.For IE,you have to buy a commercial license. This is the reason behind its asking you to contact the kango team to buy license for IE extension – Hosein Aqajani Nov 09 '15 at 11:14