摘 要:插件技術(shù)的本質(zhì),即是在不修改軟件程序主體的基礎(chǔ)上對(duì)軟件功能進(jìn)行擴(kuò)展與強(qiáng)化,它可以從外部提供給應(yīng)用程序一個(gè)接口,并通過約定的接口為應(yīng)用軟件提供所需要的功能,利用插件技術(shù)不僅可以實(shí)現(xiàn)多人并行參與軟件的開發(fā),降低開發(fā)人員的工作量,而且能明顯提高軟件的擴(kuò)展性,使所開發(fā)的軟件更易于更新與維護(hù)。因此,無論是從軟件設(shè)計(jì)還是應(yīng)用角度而言,插件技術(shù)都是非常重要的。文章結(jié)合實(shí)際工作經(jīng)驗(yàn),分析了插件技術(shù)的實(shí)現(xiàn)原理、應(yīng)用類型以及應(yīng)用優(yōu)勢(shì),并著重就插件技術(shù)在軟件技術(shù)中的具體應(yīng)用進(jìn)行了探討與研究。
關(guān)鍵詞:軟件技術(shù);插件技術(shù);應(yīng)用
1 插件技術(shù)的概念與實(shí)現(xiàn)原理
1.1 插件技術(shù)的概念
插件(Plug-in),它是根據(jù)應(yīng)用軟件程序接口所編寫出來的小程序。近年來,隨著計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)的法,對(duì)于應(yīng)用軟件的功能要求也越來越高、越來越細(xì)致。當(dāng)一個(gè)軟件發(fā)布以后,用戶往往希望軟件能為其特殊需要提供相應(yīng)的特殊功能。而在傳統(tǒng)的軟件技術(shù)中,由于軟件功能已在開放過程中預(yù)先設(shè)定,不能隨意更改。為了解決這一問題,近年來在軟件技術(shù)中普遍引入了插件技術(shù)這一概念,對(duì)于主體軟件應(yīng)用程序而言,每個(gè)插件就是對(duì)原有應(yīng)用程序功能的擴(kuò)展。用戶可以結(jié)合自身的需要,編寫出可以讓主程序調(diào)用的代碼模塊。插件技術(shù)的應(yīng)用,不僅可以滿足不同用戶的特殊需要,進(jìn)行不同模塊的開發(fā)與獨(dú)立升級(jí),而且插件還可明顯擴(kuò)展軟件主程序的功能,延長了軟件的使用周期,有利于軟件的推廣。
1.2 插件技術(shù)的實(shí)現(xiàn)原理
插件在開發(fā)與實(shí)現(xiàn)過程中,為確保插件與軟件主程序之間能正常通信,其開發(fā)必須遵循主應(yīng)用程序的接口。目前,較為常用的插件實(shí)現(xiàn)方法有:獨(dú)立應(yīng)用程序法、動(dòng)態(tài)鏈接庫法、COM法、ATL法等等,無論采用哪種方法實(shí)現(xiàn)和開發(fā)插件,都應(yīng)當(dāng)以方便使用為主要目的。一個(gè)插件的實(shí)現(xiàn),離不開主程序、插件接口和插件本身這三方面要素。
(1)主程序。主程序中通常含有一個(gè)插件管理的模塊,可管理一個(gè)或多個(gè)類型的所有插件。它的主要功能是提供對(duì)插件的管理,當(dāng)程序起啟動(dòng)時(shí)負(fù)責(zé)加載插件以及插件功能的調(diào)用,在程序終止時(shí)負(fù)責(zé)插件的釋放。
(2)插件接口。接口規(guī)范了主程序與插件之間的通信標(biāo)準(zhǔn),對(duì)于DLL插件,插件接口通常就一個(gè)結(jié)構(gòu),并包含了引用到接口函數(shù)的指針;對(duì)于COM插件,常采用一個(gè)包含基類的COM接口,并在COM中定義接口。
(3)插件本身。插件需遵循接口規(guī)范,并實(shí)現(xiàn)接口約定的功能及其它特定功能,插件可以是exe文件、DLL文件或者其它格式文件。
2 插件技術(shù)在軟件技術(shù)中的應(yīng)用類型與應(yīng)用優(yōu)勢(shì)
2.1 插件技術(shù)的主要應(yīng)用類型
(1)批命令插件。這種插件多為文文章件,其特點(diǎn)是使用功能單一,擴(kuò)展性很小,但是制作方便。由于這種插件的自由度非常低,近年來在軟件技術(shù)中已很少使用。
(2)腳本插件。腳本插件是利用腳本語言而制成的插件,其特點(diǎn)是制作簡單、使用方便,且便于后期的修改。目前,該插件應(yīng)用較多的一種腳本語言是XML。
(3)COM插件。COM(Component Object Model)即組件對(duì)象模式,它是一種語言共享和跨應(yīng)用的二級(jí)制代碼方法。COM插件的開發(fā)標(biāo)準(zhǔn)可以獨(dú)立于任何編程語言,只要滿足COM標(biāo)準(zhǔn),就可以通過任何編程語言調(diào)用這些模塊功能。因此,COM插件具有使用簡單、方便的特點(diǎn),只需要插件接口與主程序之間實(shí)現(xiàn)信息間的交互,就能滿足插件功能的實(shí)現(xiàn)。
(4)DLL插件。DLL(Dynamic Link Library)即動(dòng)態(tài)鏈接庫,它是一個(gè)可以由多個(gè)程序并用的代碼和數(shù)據(jù)的庫,通過DLL,插件可以更容易的進(jìn)行更新。DLL插件不僅可以利用多語言編程進(jìn)行開發(fā),利用實(shí)現(xiàn)資源間的共享,而且具有易于擴(kuò)展軟件應(yīng)用程序和節(jié)省內(nèi)存空間的特點(diǎn)。
2.2 插件技術(shù)在軟件技術(shù)中的應(yīng)用優(yōu)勢(shì)
(1)獨(dú)立性強(qiáng),安裝簡單。插件作為可以獨(dú)立存在于軟件部分的應(yīng)用程序,不受到或很少受到外界因素的影響,能夠較為自由的應(yīng)用于各種軟件系統(tǒng)當(dāng)中;插件與主程序之間遵循標(biāo)準(zhǔn)的接口規(guī)范,在插件應(yīng)用時(shí)具有安裝簡單、快捷的特點(diǎn)。
(2)可移植性強(qiáng)。由于插件程序自身多是由一些較小的插件結(jié)構(gòu)所構(gòu)成,因此具有組成結(jié)構(gòu)靈活和功能移植性強(qiáng)的特點(diǎn),用戶可以根據(jù)自身的需要選擇不同功能及內(nèi)容的插件,也可以方便對(duì)不需要的插件進(jìn)行方便刪除,而不會(huì)影響到軟件的使用功能。
(3)擴(kuò)展性好。當(dāng)前,許多計(jì)算機(jī)軟件中都面向用戶提供了插件技術(shù),以此提高軟件的擴(kuò)展能力與復(fù)用度。插件技術(shù)的應(yīng)用,不僅可以滿足不同用戶的特殊需要,進(jìn)行多人并行模式的開發(fā)與獨(dú)立升級(jí),而且插件還可明顯擴(kuò)展軟件主程序的功能,使軟件的應(yīng)用領(lǐng)域得到不斷拓展。
3 插件技術(shù)在軟件技術(shù)中的具體應(yīng)用
文章以瀏覽器插件為例,介紹了幾種常見瀏覽器插件的應(yīng)用。
3.1 Java虛擬機(jī)
Java虛擬機(jī)插件是Java Virtual Machine的縮寫,是一個(gè)虛擬的計(jì)算機(jī)程序,通過在實(shí)際計(jì)算機(jī)中仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)。Java虛擬機(jī)插件具備完善的系統(tǒng)架構(gòu)與功能,能實(shí)現(xiàn)信息處理、信息指令、信息存儲(chǔ)等功能,當(dāng)用戶需要在網(wǎng)絡(luò)中瀏覽部分特殊網(wǎng)頁素材時(shí),就需要通過Java插件來模擬該素材的觀看環(huán)境。
3.2 3DWebmaster網(wǎng)上虛擬現(xiàn)實(shí)
傳統(tǒng)的網(wǎng)絡(luò)虛擬現(xiàn)場(chǎng)場(chǎng)景是由一些3D創(chuàng)建工具所建立的,而其制作與效果并不佳。近年來,SuperScape公司開發(fā)了一款專業(yè)用于創(chuàng)建和瀏覽虛擬現(xiàn)實(shí)場(chǎng)景的插件——3DWebmaster,并推出了專門為網(wǎng)頁瀏覽器進(jìn)行優(yōu)化的插件VisCape。其中,3DWebmaster主要用于創(chuàng)建虛擬場(chǎng)景,而VisCape則充分利用計(jì)算機(jī)系統(tǒng)強(qiáng)大的運(yùn)算能力,瀏覽器觀看到到的虛擬現(xiàn)實(shí)場(chǎng)景更加真實(shí)。
3.3 Acrobat Reader網(wǎng)上文學(xué)閱讀
Acrobat Reader是由Adobe公司開發(fā)的一款網(wǎng)上文學(xué)閱讀應(yīng)用插件程序。用戶通過該程序可以顯示和打印PDF格式的文件,還能允許文檔保留相應(yīng)的文本格式,例如圖像、圖表、字體等等。如果安裝了Acrobat Reader,它在瀏覽器中是不顯示的,但是當(dāng)瀏覽器遇到具有PDF格式的文件后,能自動(dòng)顯示該文件。
3.4 RealPlayer網(wǎng)上視頻播放
RealPlayer是一款在網(wǎng)頁瀏覽中非常常見的視頻播放插件,它能提供流式傳輸聲音或視頻的方案。通過RealPlayer插件,能在瀏覽中實(shí)現(xiàn)實(shí)時(shí)的聲音與視頻對(duì)話,當(dāng)中Web網(wǎng)頁中遇到一個(gè)Real Audio聲音文件,或者一個(gè)Real Video視頻文件時(shí),RealPlayer就會(huì)在接收到該文件的前幾千個(gè)字節(jié)以后,即開始進(jìn)行解壓縮,然后播放解開的部分,而與此同時(shí)其余部分仍然在傳送,這樣就節(jié)約大量的時(shí)間。
4 結(jié)束語
文章從插件技術(shù)的概念、實(shí)現(xiàn)原理、應(yīng)用類型以及應(yīng)用優(yōu)勢(shì)出發(fā),并結(jié)合實(shí)例探討了插件技術(shù)在軟件技術(shù)中的具體應(yīng)用。插件作為一種可以增加和增強(qiáng)軟件使用功能的應(yīng)用程序,不僅可以實(shí)現(xiàn)多人并行參與軟件的開發(fā),降低開發(fā)人員的工作量,而且能明顯提高軟件的擴(kuò)展性,使所開發(fā)的軟件更易于更新與維護(hù),為現(xiàn)代化軟件技術(shù)的發(fā)展增添了活力,值得在軟件技術(shù)中大力開發(fā)與普及應(yīng)用。
參考文獻(xiàn)
[1]陳國棟.試談?dòng)?jì)算機(jī)軟件中的插件技術(shù)[J].電腦編程技巧與維護(hù),2012(7).
[2]周士華.淺析插件技術(shù)在軟件中的應(yīng)用優(yōu)勢(shì)[J].數(shù)字技術(shù)與應(yīng)用,2013(2).
作者簡介:趙杰(1982-),女,漢族,廣西賓陽人,助理講師,信息管理與信息系統(tǒng)專業(yè)學(xué)士,研究方向:軟件技術(shù)。