插件(英語:plug-in、plugin、add-in、addin、add-on、addon,又譯外掛、擴充功能)是一種電腦程序,透過和應用程序(例如網頁瀏覽器電子郵件用戶端)的互動,用來替應用程式增加一些所需要的特定的功能。最常見的有遊戲、網頁瀏覽器的插件和媒體播放器的插件。

Mozilla Firefox的插件列表

應用程序之所以支持插件的使用原因很多,主要包括:使得第三方的開發者可以對應用程序進行擴充、精簡,或者將源代碼從應用程序中分離出來,去除因軟件使用權限而產生的不兼容。

例子

許多專業軟件都提供給開發者撰寫插件所需要的API,目的是為了擴展軟件的功能。以下是應用程序及其插件的例子:

機制和原理

應用軟件提供使插件能夠應用的各項服務,其中包括提供加載方式,使插件可以加載到應用程序和網絡傳輸協議中,從而和插件進行數據交換。插件必須依賴於應用程序才能發揮自身功能,僅靠插件是無法正常運行的。相反地,應用程序並不需要依賴插件就可以運行,這樣一來,插件就可以加載到應用程序上並且動態更新而不會對應用程序造成任何改變。

公開應用程序接口提供一個標準的界面,允許其他人編寫插件和應用程序互動。一個穩定的應用程序接口會允許 其他插件正常運行即使其最初的版本有所變動,也會支持插件延長老舊的應用程序的使用壽命。Adobe Photoshop 和After Effects的插件應用程序接口逐漸成為標準,並且被一些和它們競爭的應用程序部分採納。另外一些象這樣的應用程序接口包括Audio UnitsVST

就好比一個網絡轉換器也許會運載一個未被佔用但不標準的端口來容納各種任選的物理層連接器。而遊戲和某些應用程序經常使用插件的體系結構來允許最初的發行者和第三方發行者增加功能性。

生產廠家可以用插件來產生賣方鎖定,就是透過選擇限制更新這個選項使得廠商簽署的買方才可以更新使用其產品。IBMMicro Channel Architecture,從技術上來會說,比Industry Standard Architecture更為先進,可以給IBM的個人電腦添加組成,但是因為很難給第三方的裝置設備取得證明而未能大面積推廣。微軟的Flight Simulator系列比較著名就是因為它可以下載aircraft附件。

插件和擴充套件

插件和擴充套件都是在現有的功能上進行修改或者增加,但它們還是有細微區別的。主要的區別就是插件通常依賴於應用程序的用戶界面,它的一切行為都不能超出已經嚴格定義好的界限。而擴充套件通常沒有多少限制,也許還會擁有獨立的用戶界面。它通常是用來減小應用程序的尺寸,並提供一些可選的功能。Mozilla Firefox及其相關的軟件使用附加元件作為所有添加的模塊這一類別的名稱,這個類別下又分為插件、主題、搜索引擎和開發成熟的擴充套件系統等子類。這樣就減少了Mozilla Application Suite不會因為特徵蔓延而對主程序造成影響。[來源請求]

發展歷史

插件的出現可以追溯到1970年代中期,當EDT英語EDT (text editor)文本編輯器UNIVAC Series 90英語UNIVAC Series 90大型電腦上運行Unisys VS/9英語VS/9操作系統的時候,其提供了一項功能就是編輯器可以運行一個程序,並允許這個程序進入編輯器的緩衝,允許外部程序染指內存中,正在編輯的任務[1]。插件程序使得編輯器在緩衝區上進行文本編輯,而這個緩衝是編輯器和插件所共同享用的。Waterloo Fortran編譯器使用這些特性使得Fortran程序的內部編譯可以用EDT編輯。

個人電腦上第一個帶有插件的應用軟件,也許是蘋果電腦上的HyperCardQuarkXPress英語QuarkXPress,兩者都是1987年發行的。

參考資料

參見

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.