Misplaced Pages

Plug-in (computing)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from Software extension) Software component that extends the functionality of existing software
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Plug-in" computing – news · newspapers · books · scholar · JSTOR (September 2019) (Learn how and when to remove this message)
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 extends the functionality of an existing software system without requiring the system to be re-built. A plug-in feature is one way that a system can be customizable.

Applications support plug-ins for a variety of reasons including:

Examples

Examples of plug-in use for various categories of applications:

Mechanism

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.

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.

Helper application

In the context of a web browser, a helper application is a separate program—like IrfanView or Adobe Reader—that extends the functionality of a browser. A helper application extends the functionality an application but unlike the typical plug-in that is loaded into the host application's address space, a helper application is a separate application. With a separate address space, the extension cannot crash the host application as is possible if they share an address space.

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. 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

  • Add-on (Mozilla) – Software modules to extend Firefox web browsers
  • Applet – Small software application
  • Browser extension – Program that extends the functionality of a web browser
  • Skin – Preset package containing graphical appearance and functionality detailsPages displaying short descriptions of redirect targets
  • Theme – Preset package containing graphical appearance and functionality details

References

  1. Sterne, Jonathan. "Plug-in | software". Encyclopedia Britannica. Retrieved 2021-02-05.
  2. "PCSX2 - The Playstation 2 emulator - Plugins". pcsx2.net. Archived from the original on 2018-01-25. 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. "Definition of helper application". PCMAG. Retrieved 2022-10-25.
  14. "Download Irfan using Internet Explorer 4.x or above". libweb.hawaii.edu. Retrieved 9 January 2024.
  15. "Helper Applications and Plug-ins - Web Security, Privacy & Commerce, 2nd Edition [Book]". Web Security, Privacy, and Commerce 2nd Edition. O'Reilly.
  16. EDT Text Editor Reference Manual, Cinnaminson, New Jersey: Unisys Corporation, 1975
Web browsers
  • Features
  • standards
  • protocols
Features
Web standards
Protocols
Active
Blink-based
Proprietary
FOSS
Gecko-based
WebKit-based
Multi-engine
Other
Discontinued
Blink-based
Gecko-based
MSHTML-based
WebKit-based
Other
Categories: