插件

遵循規範的應用程序介面編寫出來的程序

插件(Plug-in,又稱addin、add-in、addon或add-on,又譯外掛)是一種遵循一定規範的應用程序介面編寫出來的程序。其只能運行在程序規定的系統平台下(可能同時支持多個平台),而不能脫離指定的平台單獨運行。因為插件需要調用原純凈系統提供的函數庫或者數據。很多軟體都有插件,插件有無數種。例如在IE中,安裝相關的插件后,WEB瀏覽器能夠直接調用插件程序,用於處理特定類型的文件。

機制和原理


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

類別


IE

文件類型
1.*.ocx——網頁瀏覽時能夠後台自動安裝、用戶可能無法發覺。
2.*.dll——網頁瀏覽時能夠後台自動安裝、用戶可能無法發覺。
3.*.cab——網頁瀏覽時能夠後台自動安裝、用戶可能無法發覺。
4.*.exe——需要下載才能安裝、安裝權受用戶控制。
5.註冊表鍵值——有網頁或程序通過控制nwscript.exe、cscript.exe、wscript.exe、regedt32.exe、regwiz.exe、regsvr32.exe、reg.exe、regini.exe、來修改註冊表鍵值。(代表作:首頁被強行修改)
不受侵害
通過防火牆保護IE瀏覽器及資源管理器不受插件侵害的方法:
1.限制文件類型為*.ocx、*.dll、*.cab的文件通過防火牆進入內網。(對銀行、adobe等可信URL添加例外列表)
2.屏蔽調用nwscript.程序的網頁代碼。
IE瀏覽器常見的插件例如:Flash插件、RealPlayer插件、MMS插件、MIDI五線譜插件、ActiveX插件等等;再比如Winamp的DFX,也是插件。還有很多插件都是程序員新開發的。
組件和插件的區別是,插件是屬於程序介面的程序,組件在ASP中就是控制項、對象,ASP/IIS的標準安裝提供了11個可安裝組件。ASP的FSO組件,編程的朋友都如雷貫耳吧,它就是最常用的Scripting。FileSystemObject對象。
1.什麼是插件? 插件是指會隨著IE瀏覽器的啟動自動執行的程序。
2.惡意插件有什麼特徵? 有些插件程序能夠幫助用戶更方便瀏覽網際網路或調用上網輔助功能,也有部分程序被人稱為廣告軟體(Adware)或間諜軟體(Spyware)。此類惡意插件程序監視用戶的上網行為,並把所記錄的數據報告給插件程序的創建者,以達到投放廣告,盜取遊戲或銀行帳號密碼等非法目的。
因為插件程序由不同的發行商發行,其技術水平也良莠不齊,插件程序很可能與其它運行中的程序發生衝突,從而導致諸如各種頁面錯誤,運行時間錯誤等等現象,阻塞了正常瀏覽。
3.插件會從什麼位置載入到IE瀏覽器中? 根據插件在瀏覽器中的載入位置,可以分為工具條(Toolbar)、瀏覽器輔助(BHO)、搜索掛接(URL SEARCHHOOK)、下載ActiveX(ACTIVEX)。
4.不同類型插件名詞解釋
①下載ActiveX(ACTIVEX):
ActiveX插件也叫做OLE控制項或OCX控制項,它是一些軟體組件或對象,可以將其插入到WEB網頁或其它應用程序中。在網際網路上,ActiveX插件軟體的特點是:一般軟體需要用戶單獨下載然後執行安裝,而ActiveX插件是當用戶瀏覽到特定的網頁時,IE瀏覽器即可自動下載並提示用戶安裝。
ActiveX插件安裝的前提是必須先下載,然後經過認證,最終用戶確認同意方能安裝,因此嵌有ActiveX腳本程序的頁面可能會變得非常慢,甚至導致瀏覽器瞬間失去響應。
插件管理專家2008能夠屏蔽用戶不需要安裝的插件程序,加快頁面載入速度,確保用戶正常瀏覽。
②瀏覽器輔助(BHO)
BHO全稱Browser Helper Object,是一種隨網際網路瀏覽器(如IE)每次啟動而自動執行的小程序。通常情況下,一個BHO文件是由其它軟體安裝到用戶的系統中的。例如一些帶有下載功能的廣告軟體,它可能會安裝一個BHO文件從而追蹤用戶在上網衝浪遇到的眾多網頁廣告。
通常的BHO會幫助用戶更方便地瀏覽網際網路或調用上網輔助功能,也有一部分BHO被人稱為廣告軟體(Adware)或間諜軟體(Spyware),它們監視用戶的上網行為並把記錄的相關數據報告給BHO的創建者。BHO也可能會與其它運行中的程序發生衝突,從而導致諸如各種頁面錯誤,運行時間錯誤等等現象,通常阻止了正常瀏覽的進行。
插件管理專家2008提供的BHO清理能夠幫助用戶查看並屏蔽被IE瀏覽器載入的BHO文件。
③搜索掛接(URL SEARCHHOOK)
用戶在地址欄中輸入非標準的網址,如英文字元或者中文的時候,當地址欄無法對輸入字元串解釋成功時,瀏覽器會自動打開一個以用戶輸入的字元串為搜索詞的結果頁面,幫助用戶找到需要的內容。URLSearchhook對象就是完成搜索功能的插件。它通常是由第三方公司或者個人開發,通過插件的方式安裝到瀏覽器上,目的是為了幫助用戶更好的使用網際網路。例如用戶在地址欄中輸入"手機",就可以直接看到手機搜索結果。也有一些企業或者個人為了達到提高網站訪問或其它商業目的,在用戶不知情的情況下修改IE瀏覽器的URLSearchhook。
使用插件管理專家2008可以對URLSearchhook插件程序進行管理,屏蔽或者刪除不需要的惡意插件。
④工具條(Toolbar)
工具條,通常指載入在瀏覽器的輔助工具。它位於瀏覽器標準工具條的下方,在IE工具欄空白處點擊右鍵,可以查看所有已經安裝的工具條,通過勾選顯示或者隱藏已安裝的工具條。

網站

是指網站為了增加某種功能而增加的程序文件。通常論壇程序上如phpwind,應用在SNS網站,如uchome等。
網站插件通常分為兩類:
功能增強
此類通常在原有網站功能的基礎上增加系統功能,以實現其他的效果,如Google Sitemaps ForZ-Blog,就是為zblog系統增加Google sitemaps功能,方便Google收錄,此類插件較多,而對於不同的網站系統,有嚴格的插件書寫要求。也有系統默認帶的插件,如phpwind 的銀行插件,廣告插件,邀請註冊插件等。
娛樂性質
此類插件主要是為了增強網站黏合度,換句話說就是留住訪客。如開心網的開心農場插件,搶車位插件等娛樂型插件。此類插件能很大程度上留住訪客,增加網站的流量。另外如"天使寵物for phpwind all"則是BBS上的應用插件,“黑道生涯3.0 插件for discuz!”則是應用於論壇bbs上的娛樂插件。

電子元件

概念
一種可插入(或拔出)插箱、機架、機櫃的電子組件,用以直接安裝電子元件、器件和機電元件,並通過連接器實現對外電氣連接。它是最基本的電子組件,屬於第二級組裝(見電子組裝級)。
插件結構
1.使用一塊印製線路板的單板插件;
2.使用兩塊印製線路板形成夾心式或組合式插件;
3.在一塊大印製線路板(母板)上立裝若干塊小型印製線路板(子板),稱子母式插件。
在插件結構中,除印製線路板外,根據實際需要還可以安裝框架、小面板、屏蔽罩及把手等結構附件。採用較多的型式是一塊帶印製插頭的印製線路板。插件的連接器一般都是和印製線路板連成一體的印製插頭(或稱邊緣插頭)。但是,為了增加出線能力(即連接器連接點數)、可靠性和可維修性,高性能電子設備已趨向於採用二件式連接器,即有單獨的插頭和插座的連接器。一般連接器只裝在插件的一端,為了增加連接點數,也可在插件的三邊,甚至四邊都裝有連接器。因此,一般連接器已不適用,必須採用無插拔力連接器。插件框架可以採用薄板結構、鋁型材組合結構、鋁合金壓鑄件結構和塑壓件結構。根據屏蔽要求,可以採用全封閉結構,在框架的上部、下部及兩側加屏蔽蓋板,或只加部分蓋板的開式結構。中國和國際電工委員會(IEC)分別在GB3047.2-82和IEC48D(秘書處)12號文件(草案)中規定了插件面板和印製線路板的基本尺寸系列。
媒體播放器插件
Winamp音頻播放器、foobar2000音頻播放器都支持插件,用來讀取更多的音頻格式、顯示更多的音頻文件信息〔例如編碼器信息、專輯封面)。
插件
OpenCorePlugin是一個純插件結構的系統,包括內核在內的所有特性都由插件構成。插件是對系統中靜態結構方面的抽象,滿足某種約束並提供自描述的物理軟體模塊。OSGi中插件叫Bundle,物理上是一個提供自描述文件的Jar文件。插件可以被動態的安裝、激活、去激活與卸載。插件包含多個服務(Service)對象。
插件間的依賴關係包括兩種:
物理依賴,即插件間的Class依賴,例如A插件Import B插件的Class。
邏輯依賴,插件A中的服務依賴插件B中的服務。

Flash

Flash插件是指安裝於瀏覽器的Flash插件(Adobe®; Flash®; Player Plugin),使瀏覽器得以播放swf文件。如圖為Adobe®; Flash®; Player Plugin的圖標。
為增強flash的功能,有的個人和公司開發的可以安裝在flash中的外掛插件(和許多軟體的插件一樣)。可以實現如自動保存,畫特殊符號,骨骼動畫等功能。
這種插件一般是以mxp結尾的文件,如ik_motion.mxp,line.mxp等等這種插件最顯著的特點是可以播放AVI等多媒體數據,兼容能力相當大。插件都是其輔助作用的,網頁一些視頻播放都要用flash插件

技術好處


使用插件技術能夠在分析、設計、開發、項目計劃、協作生產和產品擴展等很多方面帶來好處:
1.結構清晰、易於理解。由於借鑒了硬體匯流排的結構,而且各個插件之間是相互獨立的,所以結構非常清晰也更容易理解。
2.易修改、可維護性強。由於插件與宿主程序之間通過介面聯繫,就像硬體插卡一樣,可以被隨時刪除,插入和修改,所以結構很靈活,容易修改,方便軟體的升級和維護。
3.可移植性強、重用力度大。因為插件本身就是由一系列小的功能結構組成,而且通過介面向外部提供自己的服務,所以復用力度更大,移植也更加方便。
4.結構容易調整。系統功能的增加或減少,只需相應的增刪插件,而不影響整個體系結構,因此能方便的實現結構調整。:
5.插件之間的耦合度較低。由於插件通過與宿主程序通信來實現插件與插件,插件與宿主程序間的通信,所以插件之間的耦合度更低。
6.可以在軟體開發的過程中修改應用程序。由於採用了插件的結構,可以在軟體的開發過程中隨時修改插件,也可以在應用程序發行之後,通過補丁包的形式增刪插件,通過這種形式達到修改應用程序的目的。
7.靈活多變的軟體開發方式。可以根據資源的實際情況來調整開發的方式,資源充足可以開發所有的插件,資源不充足可以選擇開發部分插件,也可以請第三方的廠商開發,用戶也可以根據自己的需要進行開發。

發展歷史


插件的出現可以追溯到1970年代中期,當EDT文本編輯器在Univac90/60系列大型機上運行UnisysVS/9操作系統的時候,其提供了一項功能就是編輯器可以運行一個程序,並允許這個程序進入編輯器的緩衝,允許外部程序染指內存中,正在編輯的任務。插件程序使得編輯器在緩衝區上進行文本編輯,而這個緩衝是編輯器和插件所共同享用的。Waterloo Fortran編譯器使用這些特性使得Fortran程序的內部編譯可以用EDT編輯。
個人電腦上第一個帶有插件的應用軟體,也許是蘋果電腦上的HyperCard和QuarkXPress,兩者都是1987年發行的。

Photoshop


大海筆刷
血跡筆刷
流線筆刷
真實頭髮筆刷
珍珠項鏈筆刷
圓圈矢量筆刷
英文筆刷
眼睛筆刷
虛線筆刷
小花朵筆刷
頹廢印跡筆刷
紋理系列圖案
蕾絲填充圖案
布紋填充圖案
虛線格子填充圖案
可愛花朵填充圖案
古典紋理圖案
可愛填充圖案
橫豎線條填充圖案
古典背景圖案
非主流效果動作
暗色調效果動作
人物美白效果動作
人物負沖效果動作
面部變亮效果動作
柔色效果動作
人物柔膚效果動作
黑白效果動作
柔化風景效果動作
人物青色調效果動作