插件是什麼?

出自 RPG Maker MV Wiki
前往: 導覽搜尋

Plugin 插件(又譯外掛,英文為Plug-in、Plugin、add-in、addin、add-on、addon或extension)是一種電腦程式,透過和應用程式(例如網頁瀏覽器,電子郵件用戶端)的互動,用來替應用程式增加一些所需要的特定的功能。最常見的有遊戲、網頁瀏覽器的外掛程式和媒體播放器的外掛程式。
應用程式之所以支援外掛程式的使用原因很多,主要包括:使得第三方的開發者可以對應用程式進行擴充、精簡,或者將原始碼從應用程式中分離出來,去除因軟體使用權限而產生的不相容。

例子

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

  • 電子郵件用戶端使用外掛程式來進行加密和解密(良好隱私密碼法)
  • 繪圖軟體使用外掛程式來支援不同檔案格式,處理圖片(Adobe Photoshop)
  • 媒體播放器使用外掛程式來支援不同檔案格式,並且提供過濾器。
  • 封包監測器用外掛程式來對封包進行解碼(OmniPeek)
  • 遠端感知應用程式用外掛程式來處理不同類型的感應器傳送的資料(Opticks)
  • 整合開發環境用外掛程式來支援程式語言(Eclipse,jEdit,MonoDevelop)
  • 網路瀏覽器使用外掛程式來播放影片及其它格式(Flash,QuickTime)

機制和原理

應用軟體提供使外掛程式能夠應用的各項服務,其中包括提供載入方式,使外掛程式可以載入到應用程式和網路傳輸協定中,從而和外掛程式進行資料交換。外掛程式必須依賴於應用程式才能發揮自身功能,僅靠外掛程式是無法正常執行的。相反地,應用程式並不需要依賴外掛程式就可以執行,這樣一來,外掛程式就可以載入到應用程式上並且動態更新而不會對應用程式造成任何改變。
公開應用程式介面提供一個標準的介面,允許其他人編寫外掛程式和應用程式互動。一個穩定的應用程式介面會允許 其他外掛程式正常執行即使其最初的版本有所變動,也會支援外掛程式延長老舊的應用程式的使用壽命。Adobe Photoshop 和After Effects的外掛程式應用程式介面逐漸成為標準,並且被一些和它們競爭的應用程式部分採納。另外一些象這樣的應用程式介面包括Audio Units和VST。
就好比一個網路轉換器也許會運載一個未被佔用但不標準的埠來容納各種任選的實體層連結器。而遊戲和某些應用程式經常使用外掛程式的體系結構來允許最初的發行者和第三方發行者增加功能性。
生產廠家可以用外掛程式來產生賣方鎖定,就是透過選擇限制更新這個選項使得廠商簽署的買方才可以更新使用其產品。IBM的Micro Channel Architecture,從技術上來會說,比Industry Standard Architecture更為先進,可以給IBM的個人電腦添加組成,但是因為很難給第三方的裝置裝置取得證明而未能大面積推廣。微軟的Flight Simulator系列比較著名就是因為它可以下載aircraft附件。

外掛程式和擴充套件

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

發展歷史

外掛程式的出現可以追溯到1970年代中期,當EDT文字編輯器在UNIVAC Series 90大型電腦上執行Unisys VS/9作業系統的時候,其提供了一項功能就是編輯器可以執行一個程式,並允許這個程式進入編輯器的緩衝,允許外部程式染指記憶體中,正在編輯的任務[1]。外掛程式程式使得編輯器在緩衝區上進行文字編輯,而這個緩衝是編輯器和外掛程式所共同享用的。Waterloo Fortran編譯器使用這些特性使得Fortran程式的內部編譯可以用EDT編輯。
個人電腦上第一個帶有外掛程式的應用軟體,也許是蘋果電腦上的HyperCard和QuarkXPress,兩者都是1987年發行的。