Information about Plugin

A plugin (plug-in, addin, add-in, addon or add-on) is a computer program that interacts with a host application (a web browser or 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, reducing the size of an application, and separating source code from an application because of incompatible software licenses.

Examples of applications and their plugins include:

Mechanism

The host application provides services which the plugins can use, including a way for plugins to register themselves with the host application and a protocol by which data is exchanged with plugins. Plugins 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 plugins, making it possible for plugins to be added and updated dynamically without changes to the host application.

Open 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 plugins to function as the original version changes and to extend the lifecycle of obsolete applications. The Adobe Photoshop and After Effects plugin APIs have become a standard and been adopted to some extent by competing applications. Other examples of such APIs include Audio Units and 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-in by limiting upgrade options to only those available from or endorsed by the original manufacturer. IBM's Micro Channel Architecture, technically superior to Industry Standard Architecture as 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 downloadable aircraft add-ons.

Plugins and Extensions

Plugins are slightly different from extensions, which modify or add to existing functionality. The main difference is that plugins generally rely on the host application's user interface and 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 Firefox and related software use Add-on as an inclusive term for a category of augmentation modules that are subdivided into plugins, themes, search engines and a well-developed extension system which reduces the feature creep that plagued the Mozilla Application Suite.

History

Plugins can be traced back as far as the mid 1970s, when the EDT text editor running on the Unisys VS/9 operating system using the Univac 90/60 series 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 plugin program could make calls to the editor to have it perform text editing services upon the buffer that the editor shared with the plugin. This feature was used by the Waterloo Fortran compiler to allow interactive compilation of Fortran programs being edited by EDT.

Perhaps the first software applications on PCs to include a plugin function were HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plugin functionality in Digital Darkroom and SuperPaint, and the term plug-in was coined by Ed Bomke. Currently, plugins 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 plugin 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.

Plugin frameworks

The following plugin frameworks are organized by programming language and can be used by software developers to add plugin capability their application.

C++

Delphi

Java

  • Java Plug-in Framework (JPF), a plugin mechanism adapted from Eclipse's plugin mechanism from its pre-OSGi era.
  • (RCP), platform for applications adapted from Eclipse , applications are written as plugins and may themself have further plugins

Python

.NET

Active Visic

See also

External links

A computer program is one or more instructions that are intended for execution by a computer. Specifically, it is a symbol or combination of symbols forming an algorithm that may or may not terminate, and that algorithm is written in a programming language.
..... Click the link for more information.
Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software which is involved in integrating a computer's various capabilities,
..... Click the link for more information.
A web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network.
..... Click the link for more information.
An e-mail client is a frontend computer program used to manage e-mail. Large all-in-one e-mail clients such as the open source Mozilla Thunderbird and Microsoft Outlook today combine the operations of an MSA, MDA, MRA and MUA in one application.
..... Click the link for more information.
third-party developer is a developer not directly tied to the primary product that a consumer is using. The primary product may be hardware or software.

In the video game industry, many third parties publish the games they develop, such as Electronic Arts and Ubisoft, while
..... Click the link for more information.
source code (commonly just source or code) is any sequence of statements and/or declarations written in some human-readable computer programming language.
..... Click the link for more information.
A software license comprises the permissions, rights and restrictions imposed on software (whether a component or a free-standing program). Use of software without a license could constitute infringement of the owner's exclusive rights under copyright or, occasionally, patent law
..... Click the link for more information.
An e-mail client is a frontend computer program used to manage e-mail. Large all-in-one e-mail clients such as the open source Mozilla Thunderbird and Microsoft Outlook today combine the operations of an MSA, MDA, MRA and MUA in one application.
..... Click the link for more information.
Pretty Good Privacy is a computer program that provides cryptographic privacy and authentication. It was originally created by Philip Zimmermann in 1991.

PGP and other similar products follow the OpenPGP standard (RFC 2440) for encrypting and decrypting data.
..... Click the link for more information.
In computer graphics, graphics software or image editing software is a program or collection of programs that enable a person to manipulate visual images on a computer.
..... Click the link for more information.
Adobe Photoshop, or simply Photoshop, is a graphics editor developed and published by Adobe Systems. It is the current market leader for commercial bitmap and image manipulation, and is the flagship product of Adobe Systems.
..... Click the link for more information.
Media Player was a media player originally included in Windows 3.0 with Multimedia Extensions and a slightly updated version was included with Windows 3.1x. Media Player received a facelift with Video for Windows, with an OLE2 version provided with the runtime software.
..... Click the link for more information.
Maintainer: Peter Pawlowski

OS: Windows 2000 or higher

Use: Audio player
License: Core: Proprietary
SDK: BSD
Website: www.foobar2000.
..... Click the link for more information.
GStreamer is a multimedia framework written in the C programming language with the type system based on GObject. GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players.
..... Click the link for more information.
Maintainer: Paul Quinn (Quinnware)

OS: Windows

Use: Media player
License: Proprietary
Website: www.quinnware.com

Quintessential Player (also called QCD
..... Click the link for more information.


Steinberg's Virtual Studio Technology and its acronym VST refer to an interface standard for connecting audio synthesizer and effect plugins to audio editors and hard-disk recording systems and also giving the
..... Click the link for more information.
Maintainer: Nullsoft

OS: Microsoft Windows
Linux (3.0 alpha 1 only)[1]

Use: Media player
License: Proprietary freeware, shareware
Website: [1]

Winamp
..... Click the link for more information.
Maintainer: XMMS Team

OS: Unix-like

Use: Audio player
License: GPL
Website: www.xmms.org The X Multimedia System (XMMS
..... Click the link for more information.
A packet sniffer (also known as a network analyzer or protocol analyzer or, for particular types of networks, an Ethernet sniffer or wireless sniffer
..... Click the link for more information.
OmniPeek is a packet analysis platform from WildPackets that supports an extensive and well documented plugin API. There are many plugins available for OmniPeek, several of which can be found on the WildPackets Developer Network (WPDN).
..... Click the link for more information.
A remote sensing application is a software application that processes remote sensing data. Remote sensing applications are similar to graphics software, but they enable generating geographic information from satellite and airborne sensor data.
..... Click the link for more information.
integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually)
..... Click the link for more information.
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
Eclipse is an open-source software framework written primarily in Java. In its default form it is a Java IDE, consisting of the Java Development Tools (JDT) and compiler (ECJ).
..... Click the link for more information.
jEdit is a text editor for programmers, available under the GNU General Public License.

Compatibility

jEdit is written in Java and runs on Mac OS X, OS/2, Unix, VMS, and Windows.

Development

jEdit development was started in 1998.
..... Click the link for more information.
MonoDevelop is a popular, open source integrated development environment for the Linux platform, primarily targeted for the development of software that uses both the Mono and Microsoft .NET framework.
..... Click the link for more information.
A web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network.
..... Click the link for more information.
Player support only: GNU/Linux (Intel, x86) and Solaris (Intel, SPARC) [1]
Genre: Multimedia Content Creator
License: Proprietary EULA
Website: Adobe.com's Flash page Adobe Flash, or simply Flash
..... Click the link for more information.
Maintainer: Apple Inc.

OS: Mac OS X, Windows XP and Vista

Use: Multimedia framework
License: Proprietary
Website: www.apple.com/quicktime/ QuickTime is a multimedia framework developed by Apple Inc.
..... Click the link for more information.
A Protocol is a set of guidelines or rules that help in governing an operation on the internet and communications over it. They are of many types such as ftp, http, tcp/ip etc.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter