外掛程式

外掛程式(英語: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年發行的。

參考資料

  1. ^ EDT Text Editor Reference Manual, Cinnaminson, New Jersey: Unisys Corporation, 1975

參見