- Plug-in (computing)
A plug-in (plugin, addin, add-in, addon, add-on, snap-in or snapin ; but see extension) is a
computer programthat interacts with a host application (a web browseror an email client, for example) to provide a certain, usually very specific, function "on demand". Applications support plugins for many reasons. Some of the main reasons include: enabling third-party developers to create capabilities to extend an application, to support features yet unforeseen, to reduce the size of an application, and to separate source codefrom an application because of incompatible software licenses.
Examples of applications and their plug-ins include:
Email clients use plug-ins to decrypt and encrypt email ( Pretty Good Privacy)
Graphics softwareuse plug-ins to support file formats and process images ( Adobe Photoshop)
Media playersuse plug-ins to support file formats and apply filters ( foobar2000, GStreamer, Quintessential, VST, Winamp, XMMS)
Packet sniffers use plug-ins to decode packet formats ( OmniPeek)
Remote sensing applications use plug-ins to process data from different sensor types (Opticks)
* Software development environments use plug-ins to support
programming languages(Eclipse, jEdit, MonoDevelop)
Web browsers use plug-ins to play video and presentation formats (Flash, QuickTime, Microsoft Silverlight, 3DMLW)
* Some digital mixing consoles allow plug-ins to extend features such as reverberation effects, equalization and compression.
Web content management systemuse plug-ins to increase your functionalities ( Joomla, WordPress).
by which data is exchanged with plug-ins. Plug-ins are dependent on these services provided by the host application and do not usually work by themselves. Conversely, the host application is independent of the plug-ins, making it possible for plug-ins to be added and updated dynamically without changes to the host application.
application programming interfaces (APIs) provide a standard interface, allowing third parties to create plugins that interact with the host application. A stable API allows third-party plug-ins to function as the original version changes and to extend the lifecycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard and been adopted to some extent by competing applications. Other examples of such APIs include Audio Unitsand VST.
For example, a network switch may ship with an unoccupied but non-standard port to accommodate various optional physical layer connectors, while games and productivity applications often use plug-in architectures which allow original and third-party publishers to add functionality.
Manufacturers can use plug-ins to create
vendor lock-inby limiting upgrade options to only those available from or endorsed by the original manufacturer. IBM's Micro Channel Architecture, technically superior to Industry Standard Architectureas a way to add components to IBM PCs, largely failed to gain wide support due to the difficulty in getting certification for third-party devices. The Microsoft Flight Simulator series is famous for its aircraft add-ons.
Plug-ins and Extensions
Plug-ins are slightly different from extensions, which modify or add to existing functionality. The main difference is that plug-ins generally rely on the host application's
user interfaceand have a well-defined boundary to their possible set of actions. Extensions generally have fewer restrictions on their actions, and may provide their own user interfaces. They sometimes are used to decrease the size of the host application and offer optional functions. Mozilla Firefoxand related software use "Add-on" as an inclusive term for a category of augmentation modules that are subdivided into plug-ins, themes, search engines and a well-developed extension system which reduces the feature creep that plagued the Mozilla Application Suite.
Plug-ins can be traced back as far as the mid 1970s, when the EDT
text editorrunning on the Unisys VS/9 operating systemusing the Univac 90/60series mainframe computer, provided the ability to run a program from the editor and to allow such program to access the editor buffer, allowing an edit session in memory to be accessed by an external program. The plug-in program could make calls to the editor to have it perform text editing services upon the buffer that the editor shared with the plug-in. This feature was used by the Waterloo Fortran compilerto allow interactive compilation of Fortranprograms being edited by EDT.
Perhaps the first software applications on PCs to include a plug-in function were
HyperCardand QuarkXPresson the Macintosh, both released in 1987. In 1988, Silicon Beach Softwareincluded plug-in functionality in Digital Darkroomand SuperPaint, and the term "plug-in" was coined by Ed Bomke. Currently, plug-ins are typically implemented as shared libraries that must be installed in a place prescribed by the host application. HyperCard supported a similar facility, but it was more common for the plug-in code to be included in the HyperCard documents (called "stacks") themselves. This way, the HyperCard stack became a self-contained application in its own right, which could be distributed as a single entity that could be run by the user without the need for additional installation steps.
The following plug-in frameworks are organized by
programming languageand can be used by software developers to add plug-in capability to their application.
* [http://www.smprocess.com FxEngine Framework] - a dataflow processing Framework
* [http://trolltech.com/products/qt Qt Plug-Ins] - part of TrollTech's Qt Framework
* [http://www.tmssoftware.com/tpf.htm TMS Plug-in Framework]
* [http://jpf.sourceforge.net/ Java Plug-in Framework] (JPF), a plug-in mechanism adapted from Eclipse's plug-in mechanism from its pre-
Rich Client Platform(RCP), platform for applications adapted from Eclipse , applications are written as plugins and may themselves have further plug-ins
OSGi, a standardized dynamic component system suited for plugin programming, used in Eclipse, many commercial J2EEapplication servers, Spring_Framework, and embedded applications.
* [http://peak.telecommunity.com/DevCenter/setuptools Setuptools]
* [http://www.ohloh.net/projects/hiveerp Hive ERP Framework] , a plugin-in framework that takes inspiration from
OSGiand Eclipse RCP simplifying the concepts of both and adapting them to the pythonic philosophy
* [http://twistedmatrix.com/projects/core/documentation/howto/plugin.html The Twisted Plug-in System]
* [http://cheeseshop.python.org/pypi/sprinkles/ Sprinkles]
* [http://svn.enthought.com/enthought/wiki/EnvisageThree/Index Envisage]
* [http://www.agile-sys.com/download.php AL Platform]
* [http://www.mono-project.com/Mono.Addins Mono Add-ins] - an add-in framework for .NET and Mono
* [http://www.codeproject.com/cs/library/Net_AddinProjFrmwork.asp Code Project] .NET Based Plug-in Framework
* [http://blogs.msdn.com/clraddins/default.aspx .NET Add-In Team Blog]
* [http://ase.jku.at/plux/index.html Plux.NET] - A Platform for Building Plug-in Systems Under .NET
* Shared library
Wikimedia Foundation. 2010.
Look at other dictionaries:
Plug-in — For the term plug in , see* Plug in (computing), an auxiliary computer program * Plug in hybrid electric vehicle * Plugging in (algebra), a mathematical procedure in which substitutions are made in a formula … Wikipedia
Plug-and-play — is a computer feature that allows the addition of a new device, normally a peripheral, without requiring reconfiguration or manual installation of device drivers. Modern plug and play includes both the traditional boot time assignment of I/O… … Wikipedia
plug-and-play — plugˈ and playˈ adjective (of a computer component) having an identifier that allows it to be configured automatically (also noun) • • • Main Entry: ↑plug * * * plug and play UK US adjective computing plug and play software or computer equipment… … Useful english dictionary
plug-in — ˈplug in noun [countable] COMPUTING a piece of software that can be used in addition to existing software in order to make particular programs work properly * * * Ⅰ. plug in UK US (also plugin) /ˈplʌgɪn/ noun [C] ► IT a small computer program… … Financial and business terms
plug-and-play — ˌplug and ˈplay adjective COMPUTING plug and play computer equipment is able to start working as soon as it is connected to a computer: • Plug and Play technology makes computer peripherals, such as modems and printers, easy to install … Financial and business terms
PLUG — Power, Inc. (Business » NASDAQ Symbols) * Perth Linux Users Group (Computing » General) * Pakistan s Linux Users Group (Computing » General) … Abbreviations dictionary
plug-and-play — adjective COMPUTING plug and play software or computer equipment is immediately ready for use when it is connected to a computer: plug and play products/peripherals/modems … Usage of the words and phrases in modern English
plug-in — ► NOUN Computing ▪ a module or piece of software which can be added to an existing system to give extra features … English terms dictionary
Plug Computer — Ein Plug Computer neben einem iPhone Ein Plug Computer (engl. für Steck Computer) ist ein kleiner netzwerkfähiger Computer für universelle Zwecke. Er ist eine kosten und stromsparende Alternative zum herkömmlichen PC und eignet sich z.B. als… … Deutsch Wikipedia
plug and play — noun : a feature of a computer system by which a new hardware component is automatically detected and configured by the operating system * * * (sometimes l.c.) a standard for the production of compatible computers, peripherals, and software that… … Useful english dictionary