外掛程式

維基百科,自由的百科全書
(重定向自外掛
跳轉到: 導覽搜尋
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[編輯]

參閱[編輯]

註腳[編輯]

外部連結[編輯]