A plug-in [ ˈplʌgɪn ] (often also plug-in; from English to plug in, " plug in, connect", also software extension or additional module ) is an optional software component that extends or changes an existing software or computer game . The term is sometimes used as a synonym for "add-on" and "add-in". Plug-ins are usually installed by the user and then integrated by the corresponding main application during runtime. Plug-ins cannot run without the main application.
Function of a plug-in
Software manufacturers often define programming interfaces (API) to their products that help third extensions (plug-ins) for these software products Programming can. Plug-ins generally follow the pattern of inversion of control .
In rare cases, plug-in interfaces have become a standard . For example, a scanner is usually supplied with a plug-in that works with most common image processing programs via the TWAIN interface.
Widely used examples of plug-ins are the Flash Player or the Java plug-in for the various web browsers . The first programs to support plug-ins are likely Apple's HyperCard and Quark's QuarkXPress (plug-ins are called Xtensions), both of which came out in 1987. Many plug-ins are also available for the FileMaker database program or the Indesign layout program .
In games there are so-called mods with which you can (assuming knowledge) develop your own gameplay using the respective game engine . For the most part, such mods can no longer be regarded as plug-ins.
In the case of software for audio processing or music production , the plug-ins are comparable to effects devices. If you buy and integrate new hardware in the real studio, you install a plug-in in the virtual studio. Countless providers of such software modules encounter several common host programs that can run on two platforms ( macOS and Windows ). From a chaos of proprietary interfaces, the TDM , AU , AAX and VST standards developed through a plug-in evolution . Native plug-ins use the processing power of the computer's CPU, while powered plug-ins require additional DSP cards. In the meantime, some manufacturers have also switched to outsourcing optional functions for their programs themselves in plug-ins. This has the advantage for the user that he can deactivate functions that he does not need and the program runs faster or more stable as a result. Also under Linux there is a standard interface that Ladspa (LADSPA), and now also the successor LV2 .
Image editing programs can be expanded with graphic filters via the plug-in interface, which is usually a program folder . Numerous functions can be added, such as B. Effects to change the color and pattern. Also vector graphics programs and 3D programs offer such expansion.
Computer game extension
Computer games can be expanded using add-ons or add-ins .
"Plugins (or plug-ins) are software modules for displaying special content in the browser window, which the browser itself cannot interpret and display." This definition distinguishes browser plug-ins from extensions that are used to change and add to the browser itself. Plug-ins for search engines are a special form. There are also themes to customize the user interface .
History Firefox-based browser
The Firefox-based browsers had XUL / XPCOM as the basic technology for plug-ins. XUL / XPCOM was discontinued with version 57 in January 2018. The successor to version 52 in 2017 was the Netscape API ( Netscape Plugin Application Programming Interface , or NPAPI ). In a transitional period, only flash can be activated manually in isolation; the interface will be completely removed in 2020.
History Chromium-based browser
Chromium also originally had support for NPAPI. This was removed with Chrome 45 in September 2015.
Criticism of NPAPI
Browser plug-ins based on the Netscape interface are basically browser-independent, but not operating system-independent. So plug-ins for Windows do not work in browsers on macOS or Linux . (Internet Explorer add-ons are tied to an operating system because this browser is only available for Windows.)
Internet Explorer history
The Internet Explorer used for plug-ins (there add-ons called) ActiveX .
Criticism of browser plug-ins
However, many browsers will probably stop supporting their plug-in systems in whole or in part. Browser plug-ins have often been identified as a source of performance and security problems.
A browser's plug-in system is a possible target for attackers. If a browser plug-in has a security vulnerability , this can sometimes be used to bypass the security mechanisms of the browser. In this way, control over the browser or, in the worst case, even the operating system, can be gained. Plug-ins should therefore be kept up to date, as new updates usually close known security holes.
Browser Extensions is a standard for browser extensions that is currently preferred by Chromium and Firefox based browsers.
- ↑ a b plugins. In: mdn web docs. Mozilla Corporation, March 23, 2019; accessed May 29, 2019 .
- ↑ Porting a legacy Firefox extension. In: Mozilla Corporation. mdn web docs, March 18, 2019, archived from the original ; accessed on May 29, 2019 (English).
- ↑ NPAPI deprecation: developer guide - The Chromium Projects. Retrieved May 29, 2019 .
- ↑ Firefox Will No Longer Support Plug-ins Except for Flash. In: InfoQ. Retrieved March 16, 2016 .
- ↑ Wade Alcorn, Christian Frichot, Michele Orrù: The browser Hacker's Handbook . John Wiley & Sons, Inc., Indianapolis, Indiana 2014, ISBN 978-1-118-66209-0 , pp. 371-419 .
- ↑ Web APIs - Google Chrome. Retrieved May 29, 2019 .
- ↑ Why do Java, Silverlight, Adobe Acrobat and other plugins no longer work? | Firefox Help. Retrieved May 29, 2019 .