Search code examples
firefox-addongoogle-chrome-extensionoperasafari-extension

Which browser is easiest to develop a browser extension for?


I am interested in learning to develop browser extensions for most major browsers (Chrome, Firefox, Safari, Opera, IE), but I am unsure of where to start. To keep my interest up, I would like to start developing for the browser which has the gentlest learning curve.

So, what is your experience developing extensions for different browsers? Naturally, one must have developed for more than one browser in order to give a reasonable answer.

I am an experienced web developer, and also have no problems with C++/Java/Ruby/Erlang, etc, so the question is not what I am capable of learning, but rather what I most quickly would reap the fruits of.


Solution

  • In my experience Chrome is the easiest to write extensions for. It uses only standard web technologies like HTML and JavaScript, with a compact extension API that will seem familiar to anyone with web development skills. This contrasts with Firefox which requires knowledge of a number of other more or less proprietary languages, file formats and APIs like XUL, RDF and XPCOM. This means that the learning curve to get into Firefox extension development is steeper.

    On the other hand, Chrome offer limited capabilities for extensions such adding buttons to the toolbar and using script to modify the contents of a web page. Extensions are heavily sandboxed and have restricted access to resources on the local machine. If your extension requires additional capabilities then you will have to use an NPAPI or PPAPI plugin, which is much more complex. In this case, it would be easier to use Firefox which offers much broader capabilities to extensions "out of the box".