Plug-in (computing) explained

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]

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

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

See main article: Add-on (Mozilla). 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 Readerthat 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

Notes and References

  1. Web site: Sterne. Jonathan. Plug-in software. 2021-02-05. Encyclopedia Britannica. en.
  2. Web site: PCSX2 - The Playstation 2 emulator - Plugins. pcsx2.net. en-gb. 2018-06-10.
  3. Web site: Pete's PSX GPU plugins. Bernert. Pete. www.pbernert.com. 2018-06-10.
  4. Web site: DEMUL - Sega Dreamcast Emulator for Windows. Team. Demul. demul.emulation64.com. 2018-06-10.
  5. Web site: Android Emulator Plugin - Jenkins - Jenkins Wiki. wiki.jenkins.io. 2018-06-10.
  6. Web site: KDE/dolphin-plugins. GitHub. en. 2018-06-10.
  7. Web site: OpenEmu/SNES9x-Core. GitHub. en. 2018-06-10.
  8. News: Recommended N64 Plugins. Emulation General Wiki. 2018-06-10. en.
  9. Web site: Playstation plugins & utilities!. www.emulator-zone.com. 2018-06-10.
  10. Web site: PS3 Homebrew Apps / Plugins / Emulators PSX-Place. www.psx-place.com. en-US. 2018-06-10.
  11. https://addons.mozilla.org/en-US/firefox/browse/type:7 Mozilla Firefox plugins
  12. http://codex.wordpress.org/Plugin_API Wordpress Plug-in API
  13. Web site: Plugin. 2022-12-07. developer.mozilla.org . en-US.
  14. Web site: Paul. Ian. Firefox will stop supporting plugins by end of 2016, following Chrome's lead. PCWorld. IDG. 20 October 2016.
  15. Web site: Pale Moon: Technical Details - Features. Pale Moon. en-US. 2020-06-06.
  16. Web site: Basilisk: Features. Basilisk. en-US. 2020-06-06.
  17. Web site: Re: Remember: Plugins are outdated.. Pale Moon Forums. en-US. 2020-06-06.
  18. Web site: Definition of helper application . 2022-10-25 . PCMAG . en.
  19. Web site: Download Irfan using Internet Explorer 4.x or above . libweb.hawaii.edu . 9 January 2024.
  20. Web site: Helper Applications and Plug-ins - Web Security, Privacy & Commerce, 2nd Edition [Book] ]. Web Security, Privacy, and Commerce 2nd Edition . O'Reilly . en.
  21. Web site: 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