Many people confuse about the term plugins, extensions and add-ons in the browser world. They sound like they should be the same thing, but in fact they are different.
Difference between Firefox add-ons, extensions and plugins
- Plugins
- plugins are binary libraries
- plugins are compiled, loadable modules, originally descended from NPAPI
- live outside of the browser’s process space, which leads to all kinds of fun interoperability issues and vulerabilities
- they are invoked if a website uses an
or
tag with a type that is handled by the plugin - for example: the .so files in
/usr/lib/mozilla/plugins
(libflashplayer.so) - Plugins are the links to external programs that handle files that Firefox doesn’t, like audio and video such as Flash or Java, or document platforms such as PDF files.
- that’s largely independent of the browser.
- one plugin is compatible with many web browsers like IE, Firefox, and Opera.
- Extensions
- extensions are written mostly in javaScript for dynamic actions and XUL, CSS for UI(recently, the Add-on SDK has been added as an alternative way to generate simple extensions, it uses HTML instead of XUL)
- since the extensions act as part of the browser, they have wider access privileges than JS-in-a-webpage
- they have full access to XPCOM and can provide their own XPCOM components as well
- one extension works with a certain browser
- Add-ons
- Add-ons are essentially anything that can be installed into the browser
- including extensions, plugins, themes, dictionaries, language packs, search engines.
Reference
Difference Between Add-on and Plug-in
Browser Plugins vs Extensions – the difference
What is the difference between a Firefox extension and a Firefox add-on?
What is The difference between Firefox extension and plugin?
firefox add-on vs. extensions vs. plugins