Add-in

All you want to know about Add-in

Contents

In computing, a plug-in (also: plugin, addin, add-in, addon, add-on, snap-in or snapin; but see also extension) consists of 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:

Examples of applications and their plug-ins include:


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.

Open application programming interfaces (APIs) provide a standard interface, allowing third parties to create plug-ins that interact with the host application. A stable API allows third-party plug-ins to continue to function as the original version changes and to extend the life-cycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard[citation needed] and competing applications[which?] have adopted them to some extent. Other examples of such APIs include Audio Units and VST.

Games and productivity applications often use plug-in architectures which allow original and third-party publishers to add functionality.

The Microsoft Flight Simulator series has become well-known for its aircraft add-ons.

Outside software, a network switch may ship with an unoccupied but non-standard port to accommodate various optional physical-layer connectors.

Outside software again, manufacturers can use plug-ins to create vendor lock-in by limiting upgrade options solely to 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.

Plug-ins and extensions

Plug-ins differ slightly from extensions, which modify or add to existing functionality. Plug-ins 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 help to decrease the size of the core host application and to offer optional functions. Mozilla Firefox and related software products use the term "Add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, search engines and a well-developed system which aims to reduce the feature creep that plagued the Mozilla Application Suite.

History

Plug-ins appeared as early 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, thus allowing an external program to access an edit session in memory. 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. The Waterloo Fortran compiler used this feature to allow interactive compilation of Fortran programs edited by EDT.

Very early PC software applications to incorporate plug-in functionality included HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in functionality in Digital Darkroom and SuperPaint, and Ed Bomke coined the term plug-in.

Currently, programmers typically implement plug-in functionality using shared libraries compulsorily installed in a place prescribed by the host application. 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.

Plug-in frameworks

Software developers can use the following plug-in frameworks (organized here by programming language) to add plug-in capability to their applications:

C++

Delphi

Java

Python

.NET

See also

Look up plug-in in
Wiktionary, the free dictionary.
Look up add-on in Wiktionary, the free dictionary.

No comments have been added.



Your name:

City:

Country:

Your comments:

Security check *
(Please enter the number into adjoining box)

 
up to content ยป
  • Ads

           
eXTReMe Tracker