Jump to content

Software extension

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Correogsk (talk | contribs) at 16:29, 28 May 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A software extension is a computer program designed to be incorporated into another piece of software in order to enhance, or extend, the functionalities of the latter. On its own, the program is not useful or functional.

Examples of software applications that support extensions include the Mozilla Firefox Web browser, Adobe Systems Photoshop and Microsoft Windows Explorer shell extensions. It is common to find that applications whose scope is potentially unbounded will feature an extensions interface (API), and the API description will often be published so that third-party developers can produce extensions.

Extension mechanisms can also be found in some operating systems such as with Linux kernel modules. The runtime environment of some programming languages also support extensions, such as PHP with support for extensions that provide an interface to third party libraries, and extensions to offer debugging, profiling, security and performance enhancement.

Other popular terms used to denote extensions are add-ons, add-ins or plugins.

The terms modules and components are also used, but they don't stress the aspect of extending. They are terms to generally describe the structure of programs and can be used for the extended core program as well.

Programs with extensions support

Template:Sect-num-stub

Program BASIC BeanShell C C++ C# Java JavaScript Lisp Lua Perl Python Ruby Scheme Visual Basic Visual Basic .NET XUL
Blender Yes
Emacs Yes with pymacs
Epiphany Yes Yes
Mozilla Firefox Yes Yes
Songbird Yes Yes
GIMP Yes Yes Yes Yes Yes TinyScheme
Internet Explorer Template:Fn
Microsoft Office Template:Fn
OpenOffice.org StarBasic Yes Yes

Template:Fnbsee Internet_explorer#Extensibility for more details
Template:Fnbsee Microsoft_Office#Extensibility for more details

References

See also