插件

维基百科,自由的百科全书
跳转至: 导航搜索
Mozilla Firefox的插件列表

插件(又譯外挂,英文为Plug-inaddinadd-inaddonadd-onapp,)是一種电脑程序,通过和应用程序(例如网页浏览器电子邮件服务器)的互动,用来替应用程式增加一些所需要的特定的功能。最常见的有遊戲、网页浏览器的插件和媒体播放器的插件。

应用程序之所以支持插件的使用原因很多,主要包括:使得第三方的开发者可以对应用程序进行扩充、精简,或者将源代码从应用程序中分离出来,去除因软件使用权限而产生的不兼容。

发展历史[编辑]

插件的出现可以追溯到1970年代中期,当EDT文本编辑器在Univac90/60系列大型机上运行UnisysVS/9操作系统的时候,其提供了一项功能就是编辑器可以运行一个程序,并允许这个程序进入编辑器的缓冲,允许外部程序染指内存中,正在编辑的任务。插件程序使得编辑器在缓冲区上进行文本编辑,而这个缓冲是编辑器和插件所共同享用的。Waterloo Fortran编译器使用这些特性使得Fortran程序的内部编译可以用EDT编辑。

个人电脑上第一个带有插件的应用软件,也许是苹果电脑上的HyperCardQuarkXPress,两者都是1987年发行的。

机制和原理[编辑]

应用软件提供使插件能够应用的各项服务,其中包括提供加载方式,使插件可以加载到应用程序和网络传输协议中,从而和插件进行数据交换。插件必须依赖于应用程序才能发挥自身功能,仅靠插件是无法正常运行的。相反地,应用程序并不需要依赖插件就可以运行,这样一来,插件就可以加载到应用程序上并且动态更新而不会对应用程序造成任何改变。

公开应用程序接口提供一个标准的界面,允许其他人编写插件和应用程序互动。一个稳定的应用程序接口会允许 其他插件正常运行即使其最初的版本有所变动,也会支持插件延长老旧的应用程序的使用寿命。Adobe Photoshop 和After Effects的插件应用程序接口逐渐成为标准,并且被一些和它们竞争的应用程序部分采纳。另外一些象这样的应用程序接口包括Audio UnitsVST

就好比一个网络转换器也许会运载一个未被佔用但不标准的端口来容纳各种任选的物理层连接器。而游戏和某些应用程序经常使用插件的体系结构来允许最初的发行者和第三方发行者增加功能性。

生产厂家可以用插件来产生卖方锁定,就是通过选择限制更新这个选项使得厂商签署的买方才可以更新使用其产品。IBMMicro Channel Architecture,从技术上来会说,比Industry Standard Architecture更为先进,可以给IBM的个人电脑添加组成,但是因为很难给第三方的装置设备取得证明而未能大面积推广。微软的Flight Simulator系列比较著名就是因为它可以下载aircraft附件。

插件和外设[编辑]

插件和外设都是在现有的功能上进行修改或者增加,但它们还是有细微区别的,主要的区别就是插件通常依赖于应用程序的用户界面,它的一切行为都不能超出已经严格定义好的界限。而外设通常没有多少限制,也许还会拥有独立的用户界面。他们通常是用来减小应用程序的尺寸,并提供一些可选的功能。Mozilla Firefox及其相关的软件使用附件作为所有添加的模块这一类别的名称,这个类别下又分为插件,主题,搜索引擎,和开发成熟的外设系统等子类。这样就减少了Mozilla Application Suite不会因为臃肿庞大而对主程序造成影响。

网页浏览器插件[编辑]

Netscape各版本的浏览器、Mozilla SuiteMozilla Firefox浏览器、Opera浏览器都允许用户使用插件,以增强浏览器功能。最常安装的外挂有Adobe Flash播放器和Java运行时刻环境(JRE).另外还有使浏览器能调用Adobe Acrobat的插件、RealPlayer的插件等。

媒体播放器插件[编辑]

Winamp音频播放器、foobar2000音频播放器都支持插件,用来读取更多的音频格式、显示更多的音频文件信息〔例如编码器信息、专辑封面等〕。

例子[编辑]

许多专业软件都提供给开发者撰写插件所需要的API,目的是为了扩展软件的功能。以下是应用程序及其插件的例子:

提供插件功能的一些软件:

结构框架[编辑]

C++[编辑]

Delphi[编辑]

Java[编辑]

Python[编辑]

.NET[编辑]

Active Visic[编辑]

参阅[编辑]

註腳[编辑]

外部链接[编辑]