Plug-in (computing)

Last updated
Mozilla Firefox displaying a list of installed plug-ins Mozilla plugins screenshot without subpixel rendering.png
Mozilla Firefox displaying a list of installed plug-ins

In computing, a plug-in (or plugin, add-in, addin, add-on, or addon) is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization. [1]

Contents

A theme or skin is a preset package containing additional or changed graphical appearance details, achieved by the use of a graphical user interface (GUI) that can be applied to specific software and websites to suit the purpose, topic, or tastes of different users to customize the look and feel of a piece of computer software or an operating system front-end GUI (and window managers).

Purpose and examples

Applications may support plug-ins to:

Types of applications and why they use plug-ins:

Mechanism

Example Plug-In Framework Plug-InExample.svg
Example Plug-In Framework

The host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application. [11] [12]

Programmers typically implement plug-ins as shared libraries, which get dynamically loaded at run time. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps. Programs may also implement plug-ins by loading a directory of simple script files written in a scripting language like Python or Lua.

Mozilla definition

In Mozilla Foundation definitions, the words "add-on", "extension" and "plug-in" are not synonyms. "Add-on" can refer to anything that extends the functions of a Mozilla application. Extensions comprise a subtype, albeit the most common and the most powerful one. Mozilla applications come with integrated add-on managers that, similar to package managers, install, update and manage extensions. The term, "plug-in", however, strictly refers to NPAPI-based web content renderers. [13] Mozilla deprecated plug-ins for its products. [14] But UXP-based applications, like web browsers Pale Moon and Basilisk, keep supporting (NPAPI) plug-ins. [15] [16] [17]

Helper application

A helper application is an external viewer programlike IrfanView or Adobe Reader that displays content retrieved using a web browser. [18] [19] Unlike a plugin whose full code would be included in the browser's address space, a helper application is a standalone application. [20] Web browsers choose an appropriate helper application based on a file's Media type as indicated by the filename extension. [21]

History

In the mid-1970s, the EDT text editor ran on the Unisys VS/9 operating system for the UNIVAC Series 90 mainframe computer. It allowed a program to be run from the editor which can access the in-memory edit buffer. [22] The plug-in executable could call the editor to inspect and change the text. The University of Waterloo Fortran compiler used this to allow interactive compilation of Fortran programs.

Early personal computer software with plug-in capability included HyperCard and QuarkXPress on the Apple Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in capability in Digital Darkroom and SuperPaint.

See also

Related Research Articles

Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to Microsoft Component Object Model (COM) and Common Object Request Broker Architecture (CORBA). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.

<span class="mw-page-title-main">ChatZilla</span> IRC client

ChatZilla is an IRC client that is part of SeaMonkey. It was previously an extension for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting.

<span class="mw-page-title-main">ActiveX</span> Software framework by Microsoft introduced in 1996

ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on Microsoft Windows operating systems, but in practice, most ActiveX controls only run on Windows. Most also require the client to be running on an x86-based computer because ActiveX controls contain compiled code.

XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

Mozilla Firefox has features which distinguish it from other web browsers, such as Google Chrome, Safari, and Microsoft Edge.

Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.

Add-on is the Mozilla term for software modules that can be added to the Firefox web browser and related applications. Mozilla hosts them on its official add-on website.

<span class="mw-page-title-main">Firefox Portable</span>

Mozilla Firefox, Portable Edition is a repackaged version of Mozilla Firefox created by John T. Haller. The application allows Firefox to be run from a USB flash drive, CD-ROM, or other portable device on any Windows computer or Linux/Unix computer running Wine. The program does not require Firefox to be installed on the computer, nor does it leave personal information on the computer or interfere with any installed versions of Firefox, however, installation on the computer's data storage device is possible. The program is not totally portable, it can't run multiple instances of Firefox out of the box.

<span class="mw-page-title-main">Komodo Edit</span> Text editor for dynamic programming languages

Komodo Edit is a free and open source text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project. Komodo IDE is no longer supported and maintained by developers for Python.

NoScript is a free and open-source extension for Firefox- and Chromium-based web browsers, written and maintained by Giorgio Maone, a software developer and member of the Mozilla Security Group.

<span class="mw-page-title-main">PCSX2</span> Video game console emulator

PCSX2 is a free and open-source PlayStation 2 emulator for Windows, Linux and macOS that supports a wide range of PlayStation 2 video games with a high level of compatibility and functionality. Although PCSX2 can closely mirror the original gameplay experience on the PlayStation 2, PCSX2 supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use resolutions up to 8 times larger than native, anti-aliasing and texture filtering.

A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages.

<span class="mw-page-title-main">Aptana</span> Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

<span class="mw-page-title-main">Komodo IDE</span>

Komodo IDE is an integrated development environment (IDE) for dynamic programming languages. It was introduced in May 2000. Many of Komodo's features are derived from an embedded Python interpreter.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications such as ZeroVM.

<span class="mw-page-title-main">Pale Moon</span> Open-source web browser with an emphasis on customization

Pale Moon is an open-source web browser with an emphasis on customization; its motto is "Your browser, Your way". There are official releases for Microsoft Windows, FreeBSD, macOS, and Linux, as well as contributed builds for various platforms.

<span class="mw-page-title-main">Goanna (software)</span> Software

Goanna is an open-source browser engine and part of Unified XUL Platform that was forked from Mozilla's Gecko. It is used in the Pale Moon and Basilisk browsers. It underlies the Interlink mail client, Hyperbola's IceWeasel, and other UXP-based applications. It was also unofficially ported to Windows XP for the K-Meleon browser and Mypal.

References

  1. Sterne, Jonathan. "Plug-in | software". Encyclopedia Britannica. Retrieved 2021-02-05.
  2. "PCSX2 - The Playstation 2 emulator - Plugins". pcsx2.net. Retrieved 2018-06-10.
  3. Bernert, Pete. "Pete's PSX GPU plugins". www.pbernert.com. Retrieved 2018-06-10.
  4. Team, Demul. "DEMUL - Sega Dreamcast Emulator for Windows". demul.emulation64.com. Retrieved 2018-06-10.
  5. "Android Emulator Plugin - Jenkins - Jenkins Wiki". wiki.jenkins.io. Retrieved 2018-06-10.
  6. "KDE/dolphin-plugins". GitHub. Retrieved 2018-06-10.
  7. "OpenEmu/SNES9x-Core". GitHub. Retrieved 2018-06-10.
  8. "Recommended N64 Plugins". Emulation General Wiki. Retrieved 2018-06-10.
  9. "Playstation plugins & utilities!". www.emulator-zone.com. Retrieved 2018-06-10.
  10. "PS3 Homebrew Apps / Plugins / Emulators | PSX-Place". www.psx-place.com. Retrieved 2018-06-10.
  11. Mozilla Firefox plugins – Description of the difference between Mozilla Firefox plugins and extensions under the general term add-on.
  12. Wordpress Plug-in API – Description of the Wordpress Plug-in architecture.
  13. "Plugin". developer.mozilla.org. Retrieved 2022-12-07.
  14. Paul, Ian. "Firefox will stop supporting plugins by end of 2016, following Chrome's lead". PCWorld. IDG. Retrieved 20 October 2016.
  15. "Pale Moon: Technical Details - Features". Pale Moon. Retrieved 2020-06-06.
  16. "Basilisk: Features". Basilisk. Retrieved 2020-06-06.
  17. "Re: Remember: Plugins are outdated". Pale Moon Forums. Retrieved 2020-06-06.
  18. "Definition of helper application". PCMAG. Retrieved 2022-10-25.
  19. "Download Irfan using Internet Explorer 4.x or above". libweb.hawaii.edu. Retrieved 9 January 2024.
  20. "Helper Applications and Plug-ins - Web Security, Privacy & Commerce, 2nd Edition [Book]". Web Security, Privacy, and Commerce 2nd Edition. O'Reilly.
  21. "For web browsers, what are helper applications, and where can I find them?". kb.iu.edu.
  22. EDT Text Editor Reference Manual, Cinnaminson, New Jersey: Unisys Corporation, 1975