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 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. [1]

Contents

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

Helper application

In the context of a web browser, a helper application is a separate programlike IrfanView or Adobe Reader that extends the functionality of a browser. [13] [14] 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. [15]

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. [16] 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

<span class="mw-page-title-main">Konqueror</span> Web browser and file manager

Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems. It forms a core part of the KDE Software Compilation. Developed by volunteers, Konqueror can run on most Unix-like operating systems. The KDE community licenses and distributes Konqueror under GNU GPL-2.0-or-later.

Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to Component Object Model (COM), Common Object Request Broker Architecture (CORBA) and system object model (SOM). 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.

A computing platform, digital platform, or software platform is the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform.

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

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

<span class="mw-page-title-main">Conkeror</span> Mozilla-based web browser

Conkeror is a Mozilla-based web browser designed to be navigated primarily by a computer keyboard. Its design is mainly patterned after the text editor GNU Emacs, with some influence from other programs, including vi.

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.

For Mozilla software, an add-on is a software component that extends the functionality of the Firefox web browser and related applications – although most are browser extensions. Mozilla provides add-ons to users via its official add-on website.

<span class="mw-page-title-main">TiddlyWiki</span> Personal wiki software

TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information. It is an open-source single page application wiki in the form of a single HTML file that includes CSS, JavaScript, embedded files such as images, and the text content. It is designed to be easy to customize and re-shape depending on application. It facilitates re-use of content by dividing it into small pieces called Tiddlers.

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

PCSX2 is a free and open-source emulator of the PlayStation 2 for x86 computers. It supports most PlayStation 2 video games with a high level of compatibility and functionality, and also supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use higher resolutions than native, anti-aliasing and texture filtering. It has been released for Windows, Linux, and macOS.

<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">Netscape (web browser)</span> Family of web browsers

The Netscape web browser is the general name for a series of web browsers formerly produced by Netscape Communications Corporation, which eventually became a subsidiary of AOL. The original browser was once the dominant browser in terms of usage share, but as a result of the first browser war, it lost virtually all of its share to Internet Explorer due to Microsoft's anti-competitive bundling of Internet Explorer with Windows.

QF-Test from Quality First Software is a cross-platform software tool for automated testing of programs via the graphical user interface. The program is specialized on cross-browser test automation of static and dynamic web-based applications. Version 4.1 added support for MacOS and the Apple Safari and Microsoft Edge browsers via the Selenium WebDriver. RESTful web service testing. From version 5.0, Windows applications can also be tested and modern C++ applications. Version 5.3 added support for the Chrome DevTools protocol, which allows browsers to be controlled using CDP drivers.

Omnipeek is a packet analyzer software tool from Savvius, a LiveAction company, for network troubleshooting and protocol analysis. It supports an application programming interface (API) for plugins.

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

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.

<span class="mw-page-title-main">GNU IceCat</span> Firefox derivative containing only free software

GNU IceCat, formerly known as GNU IceWeasel, is a completely free version of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and macOS.

Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.

<span class="mw-page-title-main">Firefox 3.6</span> Firefox web browser version

Mozilla Firefox 3.6 is a version of the Firefox web browser released in January 2010. The release's main improvement over Firefox 3.5 is improved performance. It uses the Gecko 1.9.2 engine, which improves compliance with web standards. It was codenamed Namoroka. In this version, support for X BitMap images was dropped.

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