插件
插件(也稱為addin、add-in、addon、add-on或Plug-in)是應用程序接口(API)按照一定的規(guī)范編寫的程序。開發(fā)者可以通過插件來擴展產(chǎn)品功能。計算機軟件插件可分為類似命令的簡單插件、腳本語言插件、動態(tài)函數(shù)庫DLL插件、COM組件插件、現(xiàn)有程序環(huán)境插件等。早期的軟件很難定制和擴展,于是開始實行模塊化方法的概念,插件就是一個功能獨立的功能模塊。20世紀70年代,插件首次用于文本編輯器,隨后“插件”一詞由Silicon Beach Company提出。90年代,插件被引入計算機軟件領域,大大提高了軟件開發(fā)的可操作性和可維護性。然后,很多流行的軟件開始支持插件,比如Adobe Photoshop,Netscape Navigator,Emacs等等。Web2.0興起后,Web服務和應用編程接口的概念開始流行,Web2.0網(wǎng)站開始允許使用第三方開發(fā)者創(chuàng)建的應用。
插件技術可以“即插即用”地擴展軟件功能,支持協(xié)同開發(fā),使軟件易于維護和擴展。常用的開發(fā)平臺是微軟的。NET,IBM的Elipse平臺,RCP平臺,Android平臺。插件廣泛用于數(shù)字音頻、視頻和網(wǎng)頁瀏覽。但插件機制本身存在一些安全隱患,不法分子會利用惡意插件威脅用戶的財產(chǎn)和隱私。因此,在使用電腦時,我們需要注意清除這些惡意插件,防止惡意插件帶來的危害。
定義意義 編輯本段
定義插件也可以稱為插件,是按照相應規(guī)范的應用程序接口(API)編寫的程序。應用程序運行時,通過接口規(guī)范調(diào)用插件,擴展應用程序的功能。
它是基于面向?qū)ο蟮乃枷朐O計和實現(xiàn)的。通常插件以二進制形式獨立存在,在主程序運行時動態(tài)加載通道內(nèi)存空間。很多軟件都使用插件技術,比如IE瀏覽器、Photoshop、媒體播放器、MS Office、MS Visual Studio等等。
插件的本質(zhì)是在不修改程序主體(平臺)的情況下,對軟件功能進行擴展和強化,可以用來解決一些操作上的不便或增加新的功能,提高計算機的運行效率,進一步擴大軟件的擴展空間,豐富軟件的功能。
研究意義
插件可以提高代碼的可重用性,使軟件并行開發(fā),提高開發(fā)效率,同時降低成本。而且插件的獨立性不影響主程序和其他插件在功能升級和異常調(diào)試時的運行。用戶的系統(tǒng)可以通過更換插件自由跟隨用戶業(yè)務的變化,軟件的未來版本可以通過插件豐富自身的功能,無需重新開發(fā),提高了軟件的可測試性。
主要特性 編輯本段
插件在計算機軟件的運行過程中起著重要的作用。插件主要有以下特點和優(yōu)勢:
低耦合:插件軟件解耦模塊,使程序更加清晰易懂。
復用率高:在軟件設計開發(fā)中,如果要調(diào)整或升級軟件原有的設計結(jié)構,就必須使用插件技術。
插件互不干擾:即使計算機軟件中不斷加入新類型的插件,也不會影響軟件的整體系統(tǒng)。
結(jié)構靈活:插件的結(jié)構簡單,刪除和添加插件的過程方便快捷,不會對計算機軟件的整體構成產(chǎn)生不利影響。
可維護性強:插件通過接口與主程序連接,與主程序解耦,插件是獨立的,所以插件的變化對主程序沒有影響。
開發(fā)周期短:在開發(fā)過程中,開發(fā)者可以先開發(fā)主框架和一些重要的功能插件,從而保證產(chǎn)品在第一時間投入市場,得到用戶的反饋。其他功能可以在產(chǎn)品上線后再添加。
專有技術 編輯本段
開發(fā)原理
插件開發(fā)就是把一個大軟件分成幾個更小的軟件,其中一個是主框架,也就是宿主程序。宿主程序的性能模式是可執(zhí)行文件,插件是駐留在內(nèi)存中的服務函數(shù)。當宿主程序使用插件時,它會將其加載到自己的內(nèi)存空間中。因為不同的產(chǎn)品在插件的時候規(guī)定了不同的規(guī)則,所以需要對插件進行管理。單個插件的功能單一,多個插件可以協(xié)同工作,完成更復雜的工作。插件和主機程序要遵循接口的規(guī)則來連接,插件的所有功能都是通過接口來配置的。
計算機軟件可以將插件設置為動態(tài)形式,并以動態(tài)形式實現(xiàn)插件的應用。此外,插件還可以為計算機提供相應的接口,促進主程序調(diào)用行為的實現(xiàn),準確識別主程序調(diào)用行為。主程序主要用于啟動計算機軟件。在計算機軟件的工作進程中,插件可以輸入相關的進程地址。可以通過主程序?qū)γ總€插件進行有效管理,保證每個插件的有效應用。
工作流程
插件通過連接到宿主應用程序的現(xiàn)有代碼庫來工作,并通過應用程序編程接口(API)或核心程序提供的其他集成點連接到主軟件。插件構建在應用程序上,集成點由API提供。其他軟件組件可以通過API將它們的代碼合并到宿主軟件中,而無需修改它們的核心功能。
發(fā)展重點
使用插件的軟件系統(tǒng)通常由一個主程序和許多完成子功能的插件組成。在設計系統(tǒng)時,需要解決主程序?qū)Σ寮淖R別、加載、卸載、調(diào)用等問題。其開發(fā)要點如下:
定義軟件插件的標準接口:包括定義主程序接口和插件接口,寫明主程序可以被插件調(diào)用哪些資源,成為系統(tǒng)可以識別的插件的條件。
制定插件管理機制:確定主程序獲取插件存儲位置的方式,以方便插件的加載、卸載或更新。
加載和調(diào)用插件:決定主程序如何動態(tài)加載插件和調(diào)用插件。
主要技術
插件技術主要是根據(jù)預定義的接口編寫標準化的程序,并將程序應用于計算機軟件的運行。插件運行時,應保證計算機應用功能的擴展、主程序與插件組件的協(xié)調(diào)、軟件運行協(xié)議規(guī)則的審批,保證程序處于正常狀態(tài)。
插件編程技術:根據(jù)系統(tǒng)需求劃分目標,分離軟件的功能組件。之后定義各個環(huán)節(jié)的接口技術,分別開發(fā)各個功能組件,最后集成軟件。在軟件集成過程中,確保每個功能組件都在標準程序下執(zhí)行。一般來說,為了保證集成效率,不采用傳統(tǒng)的鏈接庫或源代碼集成方式,可以使用合適的集成軟件。
動態(tài)鏈接技術:動態(tài)鏈接技術需要在動態(tài)鏈接庫的基礎上實現(xiàn),動態(tài)鏈接庫本身不能獨立運行,需要在函數(shù)調(diào)用的基礎上對主程序中的程序集進行函數(shù)調(diào)用。
組件對象模型的構建技術:組件對象模型可以促進計算機軟件之間的通信。在對象模型中,組件是基本單元。組件對象模型在保證組件間通信和交互的基礎上,可以規(guī)范同類型插件接口,強化插件的功能。
插件架構 編輯本段
在計算機軟件中使用插件技術時,需要有接口和動態(tài)鏈接庫的支持。
插件管理器:負責為插件分配資源,創(chuàng)建運行環(huán)境,根據(jù)用戶需求調(diào)用插件。為了保證這個過程的順利進行,需要定義一套如何調(diào)用插件、如何交換數(shù)據(jù)的規(guī)則,讓插件系統(tǒng)在這些規(guī)則的指導下正常運行。插件只能通過擴展點插入。一般來說,插件的開發(fā)平臺會提供插件需要的擴展點。
插件接口:接口是插件不可缺少的一部分,它具有在主程序和插件之間傳遞信息和數(shù)據(jù)的功能,以保證計算機軟件應用的穩(wěn)定性和可靠性。接口的主要目的是實現(xiàn)軟件功能調(diào)用,開發(fā)者可以根據(jù)軟件的接口規(guī)范開發(fā)相關插件。在插件功能程序開發(fā)過程中,需要建立插件與主程序之間的正確通信。為了保證接口的適用性,要盡可能滿足用戶對插件的多樣化需求,設計一個覆蓋所有類型插件的信息數(shù)據(jù)處理結(jié)構。
動態(tài)鏈接庫:動態(tài)鏈接庫可以復用組件,在熟悉插件相關編程和調(diào)用規(guī)則的前提下,可以集中調(diào)用插件。動態(tài)鏈接庫方案適用范圍廣,可行性高。在插件的集成管理中,只要系統(tǒng)掌握了與插件相關的調(diào)用規(guī)則和編程規(guī)則,就可以優(yōu)化插件的功能。動態(tài)鏈接有兩種調(diào)用方式:靜態(tài)和動態(tài)。靜態(tài)調(diào)用是通過編譯系統(tǒng),加載DLL來實現(xiàn)的,需要的代碼少,相對簡單,但是缺乏靈活性。如果DLL中有錯誤,并且沒有DLL,DLL將在相應的地址停止。動態(tài)調(diào)用的應用復雜而靈活,當DLL出現(xiàn)錯誤時,程序也能正常運行。
插件資源文件:插件資源文件,也稱為清單文件,通常包含將插件集成到框架中所需的關鍵信息。第一次創(chuàng)建插件時,默認情況下,開發(fā)平臺會在清單編輯器區(qū)域打開文件,然后開發(fā)者可以選擇關于插件的不同組信息。
插入式通信:插件之間的通信允許它們協(xié)作和交互來實現(xiàn)所需的功能。插件通信的方法包括共享數(shù)據(jù)和狀態(tài)、事件和通知、進程間通信和端點。其中,事件和通知包括事件總線和觀察者模型。事件總線允許插件訂閱和發(fā)布事件總線或消息傳遞系統(tǒng),插件可以在必要時做出相應的響應。使用觀察者模式,插件可以注冊為特定事件或狀態(tài)變化的觀察者或監(jiān)聽器。當觀察到的事件發(fā)生時,注冊的插件會得到通知。
插件容器:插件容器是一種類似于observer的設計模式,但更側(cè)重于數(shù)據(jù)處理、狀態(tài)改變和可取消操作。負責運行Adobe eFlash、Java、Silverlight等插件,防止插件崩潰時瀏覽器崩潰。
主要應用 編輯本段
插件程序目前應用廣泛,特別是在大型軟件開發(fā)中,可以提高群體的開發(fā)效率,縮短開發(fā)周期,降低設計難度。在實際應用中,插件不僅可以執(zhí)行代碼,還可以處理圖像、聲音、動畫等。
網(wǎng)頁瀏覽器:瀏覽器中廣泛使用插件,網(wǎng)頁瀏覽器的插件也稱為擴展,如Adobe Flash Player、Grammarly、廣告攔截器等。VPN使瀏覽器具有額外的功能,這些功能包括啟用內(nèi)容過濾和廣告攔截,提供另一層安全,限制用戶被允許在指定網(wǎng)站上花費的時間,允許用戶突出顯示網(wǎng)頁并通過社交媒體和電子郵件共享它們,以及翻譯網(wǎng)頁。
內(nèi)容管理系統(tǒng):預先創(chuàng)建的插件和模板可以應用于內(nèi)容管理系統(tǒng)(CMS)。CMS是一個工具,可以通過一個易于使用的界面構建網(wǎng)站的所有內(nèi)容,從文本到照片到小部件。使用CMS可以快速有效地建立一個網(wǎng)站,而無需編寫自己的代碼。流行的CMS工具,如WordPress,提供了多種功能,從添加社交媒體集成到增強網(wǎng)站的SEO(搜索引擎優(yōu)化)等等。
媒體播放機:多媒體軟件配有各種功能的模塊,包括插件管理模塊、產(chǎn)品功能模塊、人機界面模塊、通信模塊和界面管理模塊等。插件可以擴展可播放媒體的格式,保證音頻的高質(zhì)量,糾正多媒體中音頻和視頻的同步。調(diào)整照明設置,允許媒體編碼等。例如,插件Winamp DSP允許用戶定制帶有效果和可視化的音頻回放。
裝幀設計藝術:平面設計軟件中有很多插件,可以進行色彩校正、提高圖像質(zhì)量、創(chuàng)建數(shù)字背景、快速自動蒙版綠屏攝影、創(chuàng)建紋理和邊框、添加光照等功能,可以滿足數(shù)碼攝影師、平面美工和網(wǎng)頁設計師的各種需求。Adobe Phototshop這款軟件工具,包含了多種插件和擴展,比如——Noiseware這款獲獎插件,可以單獨使用,消除照片的噪點。
項目開發(fā):開發(fā)工具插件可用于幫助構建模式項目,包括軟件組件、腳本包、模式類型和插件,并為這些項目提供創(chuàng)建、配置、打包、部署和調(diào)試功能。比如華為的HMS Toolkit,一個IDE工具插件,提供了一套包括應用創(chuàng)建、編碼和轉(zhuǎn)換、調(diào)試、測試和發(fā)布的開發(fā)工具,還可以將現(xiàn)有代碼轉(zhuǎn)換成集成HMS核心服務的代碼。
電子商務平臺:插件有一些獨立的功能,可以通過調(diào)用整合形成一個成熟的電商平臺,比如ECwid電商購物車。通過與各大承運商集成,可以自動計算運費,包括美國和加拿大的稅率自動計算和歐盟增值稅,與TaxJar集成,可以自動申報和申報美國的銷售稅。另一個名為Easy Digital Downloads的插件可以查看和管理所有客戶的詳細記錄及其購買歷史,并跟蹤商店的收入、退款和銷售情況。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域?qū)I(yè)人士。
如果您認為本詞條還有待完善,請 編輯
上一篇 Shopee跨境電商 下一篇 網(wǎng)站