A plugin (plug-in, addin, add-in, addon, add-on or snap-in; but see extension) 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". Computer programs (also software programs, or just programs) are instructions for a Computer. 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 A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a An e-mail client, aka Mail User Agent (MUA aka e-mail reader is a frontend Computer program used to manage E-mail. 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 code from an application because of incompatible software licenses. A third-party developer is a developer not directly tied to the primary product that a consumer is using In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software
Examples of applications and their plugins include:
Contents |
The host application provides services which the plug-in 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. Audio Units ( AU) are a system-level Plug-in architecture provided by Core Audio Steinberg 's Virtual Studio Technology (VST is an interface for integrating software Audio Synthesizer and effect Plugins with
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. A computer network is a group of interconnected Computers. Networks may be classified according to a wide variety of characteristics
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. In Economics, vendor lock-in, also known as proprietary lock-in, or customer lock-in, makes a customer dependent on a vendor for products 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. Micro Channel Architecture (in practice almost always shortened to MCA) was a proprietary 16- or 32-bit parallel Computer bus Industry Standard Architecture (in practice almost always shortened to ISA) was a Computer bus standard for IBM compatible computers 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. The user interface (or Human Computer Interface) is the aggregate of means by which people&mdash the users '&mdash interact with the System 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. Mozilla Add-ons, informally known as AMO, is the official Mozilla Foundation Website to act as a repository for add-ons for Mozilla Add-ons are installable enhancements to the Mozilla Foundation 's projects (and compatible variants such as Portable Firefox) Feature creep (or feeping creaturism) is the proliferation of features in a product such as Computer software. The Mozilla Application Suite (originally known as Mozilla, marketed as the Mozilla Suite, and Code named SeaMonkey) is a Cross-platform
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. There are at least two major text editors named EDT. One was made by Digital Equipment Corporation the other by what was then Sperry Univac which later became Unisys A text editor is a type of program used for editing plain Text files Text editors are often provided with Operating systems or software development Unisys Corporation ( based in Blue Bell, Pennsylvania, United States, and incorporated in Delaware, is a global provider of information technology VS/9 was a Computer Operating system available for the Univac 90/60, 90/70 and 90/80 mainframe during the late 1960s through 1980s An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination The Univac 90/60 series computer was a mainframe class computer manufactured by Sperry Corporation as a competitor to the IBM System 360 series Mainframes (often colloquially referred to as Big Iron) are Computers used mainly by large organizations for critical applications typically bulk data 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. The University of Waterloo (also referred to as UW and Waterloo) is a comprehensive Public university in the city of Waterloo, Ontario A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another Fortran (previously FORTRAN) is a general-purpose, procedural, imperative Programming language that is especially suited to
The following plugin frameworks are organized by programming language and can be used by software developers to add plugin capability their application. A programming language is an Artificial language that can be used to write programs which control the behavior of a machine particularly a Computer.