What is The difference between Firefox extension and plugin?

Tomasz Smykowski picture Tomasz Smykowski · Nov 7, 2010 · Viewed 19.8k times · Source

In Firefox there are plugins and extensions. Could you please explain to me why these addons have different name and tabs ? Does they differ so much so they need different names? I think it's a little unnatural to differ these things, extensions have so much and more functionality, what they lack for comparing to plugins?

Answer

Piskvor left the building picture Piskvor left the building · Nov 7, 2010

The difference is both historical and real:

  • plugins are compiled, loadable modules, originally descended from NPAPI; they can live outside of the browser's process space (which leads to all kinds of fun interoperability issues and vulerabilities). The most common examples of these are Flash and Java - both request a sub-window ("viewport" or "canvas" (not HTML5's canvas - that's something else altogether: a native part of the webpage)) inside the webpage and handle it themselves, in a way that's largely independent of the browser.
  • extensions are written mostly in JavaScript and XUL. Since the extensions act as part of the browser, they have wider access privileges than JS-in-a-webpage, but they are still subject to some limitations. The most common way of integration is to hook into some part of FF's functionality and extend it.

So, although the plugins and extensions might appear to be related, they're very different technologies behind the scenes.