Plugin

From Wikipedia, the free encyclopedia

(Redirected from Addin)
Jump to: navigation, search

A plugin (plug-in, addin, add-in, addon or add-on) sometimes also called extension (see below), 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, to support features yet unforeseen, 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:


Contents

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

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.

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

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

Look up plugin in
Wiktionary, the free dictionary.
Look up addon in Wiktionary, the free dictionary.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.