李偉
【摘 要】在現(xiàn)在社會(huì),計(jì)算機(jī)在人們生活中的應(yīng)用越來越廣泛,人們的生活和工作越來越依賴于計(jì)算機(jī)。計(jì)算機(jī)中的軟件是計(jì)算機(jī)工作的重要組成部分,軟件也是計(jì)算機(jī)發(fā)展的主要方向,由于插件技術(shù)的出現(xiàn)和發(fā)展,為計(jì)算機(jī)軟件帶來新的生命力。文章就計(jì)算機(jī)軟件中的插件技術(shù)及應(yīng)用進(jìn)行了分析。
【關(guān)鍵詞】計(jì)算機(jī)軟件;插件技術(shù);應(yīng)用
【中圖分類號(hào)】TP311.52【文獻(xiàn)標(biāo)識(shí)碼】A【文章編號(hào)】1672-5158(2013)02-0116-01
現(xiàn)在的計(jì)算機(jī)技術(shù)發(fā)展中,軟件的發(fā)展是主要趨勢(shì),因此,插件技術(shù)在計(jì)算機(jī)技術(shù)中占有重要的地位,插件技術(shù)在計(jì)算機(jī)軟件中的應(yīng)用,使計(jì)算機(jī)的軟件功能有了擴(kuò)展,為計(jì)算機(jī)的進(jìn)一步發(fā)展創(chuàng)造了有利條件。
一.插件技術(shù)
1.什么是插件技術(shù)
所謂插件指的是一種程序,這種程序是按照統(tǒng)一使用的預(yù)定義接口的具體規(guī)范來進(jìn)行編寫的,處在運(yùn)行狀態(tài)的應(yīng)用程序由接口規(guī)范來調(diào)用插件,以此來使應(yīng)用程序的功能進(jìn)行擴(kuò)展。插件的英文名稱叫做plug in。插件的典型的例子有兩種,一種是ActiveX控件另外一種是COM,但從本質(zhì)上來說ActiveX控件不過是COM的升級(jí)版而已。另外的一種插件叫做Photoshop的濾鏡。
計(jì)算機(jī)軟件插件最大的好處和作用就是它能夠?qū)崿F(xiàn)程序運(yùn)行時(shí)功能可以得到擴(kuò)展。這也就是說,軟件的開發(fā)者只要將插件所使用的預(yù)定義接口規(guī)范進(jìn)行公布,那么其他的開發(fā)商就可以不用對(duì)整個(gè)程序代碼進(jìn)行編譯,而是只通過插件的開發(fā)來擴(kuò)展功能程序就可以了。所謂的運(yùn)行是在編譯之后才能夠進(jìn)行的。一般情況下。開發(fā)者對(duì)軟件功能的更新,是在源代碼級(jí)別里進(jìn)行的,然后再重新編譯整個(gè)程序,然后將新版本發(fā)布,這就是造編譯時(shí)更新軟件。
2.插件的常見類型
在現(xiàn)有的計(jì)算機(jī)軟件插件中,主要可以分為以下幾種類型:
2.1.基本的簡(jiǎn)單插件
這種插件在計(jì)算機(jī)的軟件系統(tǒng)中是最為常見的插件,這類插件和一般的命令軟件比較類似。這類插件的自由度相對(duì)來說比較低,和一些比較傳統(tǒng)的軟件相比較,并沒有太大的優(yōu)越性。這一類插件技術(shù)的使用系統(tǒng)主要有Win Hacker以及Win Amp等系統(tǒng),這類插件在安裝完成后,可以根據(jù)自己的需要,將與之相應(yīng)的代碼輸入,這樣一來,能夠保證程序的正常的運(yùn)行。
2.2 特殊插件
在現(xiàn)在的計(jì)算機(jī)系統(tǒng)中,使用這一類插件的相對(duì)來說比較少。這類插件主要是通過特殊的腳本語(yǔ)言來實(shí)現(xiàn)的。這種插件的編寫比較復(fù)雜,編寫者必須要先制作一個(gè)與之相應(yīng)的解釋內(nèi)核來對(duì)程序進(jìn)行解釋,才能滿足插件的正常,這樣才能使得使用者能夠正確的使用該插件。在我國(guó)的計(jì)算機(jī)領(lǐng)域,這種插件的研發(fā)還在進(jìn)行之中,微軟曾研發(fā)此種插件,但實(shí)際效果不好。但是如果這種插件研發(fā)成功的話,將會(huì)使插件的制作大大降低難度,可以在不同的辦公自動(dòng)化所用的軟件中起到重要的作用。
2.3 普通常用插件
這種軟件在現(xiàn)在的計(jì)算機(jī)系統(tǒng)中使用的較為普遍,是現(xiàn)階段比較實(shí)用的插件。這種插件主要是利用現(xiàn)有資源環(huán)境來進(jìn)行開發(fā)的,比如常見到的Photo Shop就是用的這種插件。與上文所述的簡(jiǎn)單插件相比,這種插件的不同之處是在構(gòu)建程序主體的時(shí)候,自定義的接口被設(shè)置若干個(gè),以這種方法來保證所安裝的插件能夠比較自由的訪問在軟件系統(tǒng)內(nèi)的資源。這種插件的優(yōu)勢(shì)是自由度比較大,有利于開發(fā)者的發(fā)揮。但是,這種插件的編寫過程比較復(fù)雜,對(duì)所用到的接口的協(xié)調(diào)性要求較高,要有專業(yè)人員參與才能夠完成其操作。
二.在實(shí)際中的應(yīng)用
現(xiàn)在的插件技術(shù)在計(jì)算機(jī)軟件中被廣泛的應(yīng)用,由于它自身的優(yōu)越性,也給計(jì)算機(jī)的使用帶來了很大的方便,計(jì)算機(jī)插件在實(shí)際中的應(yīng)用也越來越重要。
計(jì)算機(jī)插件的本質(zhì)作用是在不對(duì)計(jì)算機(jī)的主體程序修改的情況下來對(duì)其軟件的功能加強(qiáng)或者擴(kuò)展。只要開發(fā)者將插件的接口公布,所有的公司或個(gè)人都可以來制作自己的插件,以此來解決一些操作問題或者是增加一些新的功能,也就是所謂的“即插即用”。平臺(tái)和插件相結(jié)合的軟件結(jié)構(gòu)是把一個(gè)將要進(jìn)行開發(fā)的軟件分成兩個(gè)部分,一部分叫做平臺(tái),是作為程序的主體,另一部分叫做插件,是作為功能擴(kuò)展以及模塊的補(bǔ)充來使用。
要能夠?qū)崿F(xiàn)這種結(jié)構(gòu),必須先定義兩個(gè)標(biāo)準(zhǔn)接口,即插件接口和平臺(tái)擴(kuò)展接口。這兩種接口各自都是由各自的相應(yīng)對(duì)象來實(shí)現(xiàn)的,另一個(gè)只是進(jìn)行輔助的使用或者是調(diào)用。插件和平臺(tái)是進(jìn)行單向通信的,主要由擴(kuò)展接口來實(shí)現(xiàn),插件通過由擴(kuò)展口可以獲得各種資源,包括內(nèi)部數(shù)據(jù)、內(nèi)存分配以及系統(tǒng)句柄。插件的使用和擴(kuò)展接口相類似,只不過它是為平臺(tái)提供信息的。
要開發(fā)出一個(gè)應(yīng)用程序來支持插件的功能,那就是如何實(shí)現(xiàn)主程序和插件的通信。為了達(dá)到這樣的目的,就要有一定的通信標(biāo)準(zhǔn),而可以作為這個(gè)標(biāo)準(zhǔn)的就是接口,主程序和插件之間只能通過它來進(jìn)行通信。在開發(fā)軟件的過程中,接口知識(shí)功能的定義和規(guī)定形式,它并不包括功能的實(shí)現(xiàn)。接口的本質(zhì)是模塊調(diào)用的規(guī)范。
接口的調(diào)用與功能實(shí)現(xiàn)不組合在一起,可以有較大的優(yōu)點(diǎn)。雖然因?yàn)殚_發(fā)者的不同對(duì)于相同的接口有不同的實(shí)現(xiàn)方式,但是在程序當(dāng)中,對(duì)于他們的調(diào)用方式都是一樣的。只要能有可以使主程序得以實(shí)現(xiàn)的接口,在其他的插件當(dāng)中也可以用相同的方式對(duì)主程序的功能進(jìn)行調(diào)用。這樣一來,程序的靈活性便大大增加了。
在主程序之中,插件的安裝以及刪除由插件的管理部分來進(jìn)行,另外,可以將安裝插件的所有信息都保存到合適的地方,比如說可以保存到注冊(cè)表里或者是配置文件當(dāng)中。啟動(dòng)主程序時(shí),插件模塊的加載根據(jù)插件配置信息來進(jìn)行,然后再得到插件所用的輸出函數(shù)或者是指針并且要進(jìn)行保存,在需要的情況下,向主程序增加如菜單或者是工具條按鈕等這些界面接口元素也是可以的。在主程序當(dāng)中,如果點(diǎn)擊到和插件相關(guān)聯(lián)的接口元素,會(huì)觸動(dòng)插件的調(diào)用函數(shù),這時(shí)可以利用主函數(shù)中的信息來調(diào)用其中實(shí)現(xiàn)的功能。在調(diào)用插件進(jìn)行函數(shù)輸出的時(shí)候,主程序中的接口也可以傳遞給插件。
總結(jié):
插件技術(shù)的應(yīng)用,不僅使計(jì)算機(jī)的性能有所提高,另外,也為軟件的開發(fā)提供了方向,在這個(gè)計(jì)算機(jī)時(shí)代,插件技術(shù)的應(yīng)用無疑是一大主流技術(shù),對(duì)于工作和生活有重大意義。筆者相信,插件技術(shù)將會(huì)不斷的向前發(fā)展,在不久的將來,將會(huì)有更新的更先進(jìn)的插件技術(shù)出現(xiàn),繼續(xù)為計(jì)算機(jī)的發(fā)展服務(wù)。
參考文獻(xiàn)
[1] 陳國(guó)棟.試談?dòng)?jì)算機(jī)軟件中的插件技術(shù)[J].電腦編程技巧與維護(hù), 2010.(16)
[2] 熊英.計(jì)算機(jī)軟件中的插件技術(shù)[J].技術(shù)與市場(chǎng),2011(08)
[3] 李軍利,占媛,劉東良.基于插件技術(shù)的GIS應(yīng)用技能開發(fā)教學(xué)研究[J].軟件導(dǎo)刊,2011(09)