摘 要:當(dāng)代社會(huì)是信息時(shí)代,信息技術(shù)高速發(fā)展,計(jì)算機(jī)軟件的運(yùn)用十分廣泛常見(jiàn),計(jì)算機(jī)軟件是由計(jì)算機(jī)系統(tǒng)的程序和文檔組成的,程序是計(jì)算任務(wù)的處理對(duì)象和處理規(guī)則的描述,文檔是用于了解程序必要的闡明性資料。本文將從計(jì)算機(jī)軟件中的插件技術(shù)進(jìn)行分析,研究其概念與功能、技術(shù)原理與類型,從而得出有用的信息。
關(guān)鍵詞:插件技術(shù);計(jì)算機(jī)軟件;應(yīng)用分析
中圖分類號(hào):TP311.52
計(jì)算機(jī)軟件中的插件技術(shù)是一門應(yīng)用技術(shù),插件技術(shù)在計(jì)算機(jī)軟件中發(fā)揮著很大的作用,它能夠提高軟件的重要性和擴(kuò)展性,還能解決計(jì)算機(jī)在集成方面的問(wèn)題。對(duì)于軟件來(lái)說(shuō),運(yùn)用插件技術(shù)擴(kuò)展軟件的功能是十分重要的。在此過(guò)程中,不但節(jié)省了許多不必要的步驟,滿足人民的需求,還能將軟件進(jìn)行擴(kuò)展,從而使軟件的升級(jí)效率得到提高,確保軟件正常運(yùn)行。所以如何能更好的運(yùn)用插件技術(shù),使其對(duì)其計(jì)算機(jī)的擴(kuò)展功能發(fā)揮的更好,這已經(jīng)成為我們值得思考和研究的課題。
一、1 插件技術(shù)的概念及功能
1.1 插件技術(shù)的概念
插件是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來(lái)的程序。插件具有不同的類項(xiàng),常見(jiàn)的插件有下載ActiveX(ACTIVEX)、瀏覽器輔助(BHO)、搜索掛接(URL SEARCHHOOK)、工具條(Toolbar)。
計(jì)算機(jī)軟件插件中,最值得推薦的插件當(dāng)屬應(yīng)用程序運(yùn)行中的功能擴(kuò)展。其含義就是軟件開(kāi)發(fā)商在對(duì)預(yù)先定義的接口進(jìn)行規(guī)范,不再需要全部的代碼程序重新編譯,只需要第三方軟件開(kāi)發(fā)商在開(kāi)發(fā)軟件的過(guò)程中對(duì)軟件進(jìn)行相應(yīng)功能的擴(kuò)展,對(duì)源代碼進(jìn)行更新,最后整理和重新翻譯整個(gè)程序,從而更新軟件。
(二)1.2 插件技術(shù)的功能
在計(jì)算機(jī)軟件中,插件的本質(zhì)是不對(duì)程序的整體做任何的修改,對(duì)軟件進(jìn)行加強(qiáng)和擴(kuò)展。公開(kāi)插件的接口后,無(wú)論是公司還是個(gè)人都可以用此插件解決操作過(guò)程中的疑難問(wèn)題和軟件的更新,實(shí)現(xiàn)了即時(shí)播放即時(shí)使用。一個(gè)程序的主體即為平臺(tái),而功能的擴(kuò)展即為插件,二者將待開(kāi)發(fā)的軟件直接分成了這兩個(gè)部分。
平臺(tái)加插件的結(jié)構(gòu)并不適用于所有的軟件開(kāi)發(fā),在軟件開(kāi)發(fā)之前,要事先依據(jù)軟件實(shí)際情況再來(lái)確定是否用到此結(jié)構(gòu)。如果要使用平臺(tái)加插件的結(jié)構(gòu),就要對(duì)主體進(jìn)行分析,尋找主體是由哪些部分功能組成的,然后再對(duì)插件進(jìn)行分析,尋找哪些功能要用插件來(lái)完成。平臺(tái)所完成的功能,是一個(gè)軟件系統(tǒng)的基本功能,同時(shí)也是一個(gè)軟件系統(tǒng)的基礎(chǔ)和核心,可以供用戶和插件二者使用,這樣就把平臺(tái)分成了兩個(gè)功能,內(nèi)核和插件處理功能。內(nèi)核功能是整個(gè)軟件的重要功能,軟件的大部分功能都是由內(nèi)核功能完成的。插件處理功能也十分重要,在插件操縱平臺(tái)時(shí)和插件通信的情況下,為二者提供標(biāo)準(zhǔn)平臺(tái)擴(kuò)展接口。插件功能是在平臺(tái)功能的基礎(chǔ)上進(jìn)行擴(kuò)張和補(bǔ)充。PHO-TOSHOP的濾鏡插件就只是完成對(duì)圖形效果的特殊處理,這就是一般插件需要完成的一部分小的功能,而且功能還具有共通性,為了節(jié)約時(shí)間也可以集中在一起處理。
平臺(tái)加插件的結(jié)構(gòu)需要兩個(gè)標(biāo)準(zhǔn)的接口,為了達(dá)到這一要求就要有平臺(tái)拓展接口和插件接口。平臺(tái)擴(kuò)展接口和插件接口在進(jìn)行各自的任務(wù)時(shí)是不發(fā)生聯(lián)系的,平臺(tái)擴(kuò)展接口就完全由平臺(tái)來(lái)完成,插件接口就完全由插件來(lái)完成,在各自完成的任務(wù)里,另一個(gè)只是調(diào)用和使用。平臺(tái)擴(kuò)展接口為插件接口完成單向通信,插件接口在想要獲取主體的一切所需數(shù)據(jù)時(shí)要通過(guò)平臺(tái)擴(kuò)展接口來(lái)完成。二者相互結(jié)合,相互利用,實(shí)現(xiàn)共同的目標(biāo)。
主程序與插件信息是可以雙向流動(dòng)的。在開(kāi)發(fā)支持插件功能的應(yīng)用程序中存在兩種情況,一是主程序的開(kāi)發(fā)者來(lái)制定接口,另一種是由其他的開(kāi)發(fā)人員進(jìn)行相關(guān)的操作,即使是其他的開(kāi)發(fā)人員也不會(huì)增加難度,只要公開(kāi)相關(guān)的接口就能解決。一般情況下都是插件方實(shí)現(xiàn)接口功能,但這也不是絕對(duì)的情況,主程序也可以完成接口功能。
二、2 插件技術(shù)的原理
插件技術(shù)想要在計(jì)算機(jī)軟件技術(shù)中運(yùn)行,是需要一定的條件的。動(dòng)態(tài)鏈接庫(kù)動(dòng)態(tài)支持其插件技術(shù)在計(jì)算機(jī)軟件技術(shù)中的運(yùn)行,同時(shí)在運(yùn)行的過(guò)程中需要相應(yīng)的軟件接口進(jìn)行支持。動(dòng)態(tài)鏈接庫(kù)是一種特定功能的軟件模塊,不能夠單獨(dú)存在,在其運(yùn)行的同時(shí)輸入相應(yīng)的函數(shù)、類,或者是其他獨(dú)立運(yùn)行的程序用來(lái)調(diào)用內(nèi)部功能。
動(dòng)態(tài)鏈接庫(kù)的調(diào)用功能是由靜態(tài)調(diào)用和動(dòng)態(tài)調(diào)用組成。動(dòng)態(tài)鏈接庫(kù)有著許多的優(yōu)點(diǎn):擴(kuò)展了應(yīng)用程序的特性,應(yīng)用程序都有其獨(dú)有的特點(diǎn);可以用許多中編程語(yǔ)言來(lái)編寫;簡(jiǎn)化了軟件的項(xiàng)目管理;節(jié)省了計(jì)算機(jī)軟件內(nèi)存;有利于將資源實(shí)現(xiàn)共享;將應(yīng)用程序本地化;最后還可以用動(dòng)態(tài)鏈接庫(kù)解決一些特殊的問(wèn)題。靜態(tài)調(diào)用的DLL在程序初始化時(shí)載入,如果DLL文件錯(cuò)誤或不存在,這樣就會(huì)造成程序根本無(wú)法運(yùn)行;動(dòng)態(tài)調(diào)用的DLL用API動(dòng)態(tài)載入,DLL錯(cuò)誤也不會(huì)造成程序本身出現(xiàn)問(wèn)題,這是二者最本質(zhì)的區(qū)別。在靜態(tài)連接DLL時(shí),主程序引入的DLL會(huì)將所有導(dǎo)出的函數(shù)由LINK建立一張引入表;在裝載主程序時(shí),與此同時(shí)會(huì)裝入DLL,再由操作系統(tǒng)進(jìn)行重新的定位。動(dòng)態(tài)鏈接的DLL,主程序在裝載的同時(shí),不會(huì)同時(shí)裝入DLL,如果在這種情況下DLL的搜索路徑不存在,主程序就不會(huì)出現(xiàn)轉(zhuǎn)載錯(cuò)誤。
3 插件技術(shù)的類型
(一)3.1 類似于命令插件
這種插件在自由度上十分低。這種插件大部分為文本文件,且功能比較簡(jiǎn)單,在擴(kuò)展性方面也是極其弱小的。但正因?yàn)槠涔δ芎?jiǎn)單,反而這樣的插件用起來(lái)十分的方便簡(jiǎn)單快捷,即使對(duì)此不了解的人員也可以在簡(jiǎn)單的操作之后進(jìn)行制作,用起來(lái)十分的方便,如WinAmp的Skin。WinHacker經(jīng)常使用這種軟件,運(yùn)行的插件步驟為先進(jìn)行用戶的選擇,再進(jìn)行輸入,最后依據(jù)用戶的輸入內(nèi)容來(lái)完成一些事先就已經(jīng)定義好的操作。
(二)3.2 腳本語(yǔ)言插件
又稱為特殊的腳本語(yǔ)言來(lái)實(shí)現(xiàn)的插件。這種插件相對(duì)于其他插件是比較難寫的一種,需要一個(gè)程序的解釋內(nèi)核,而且這種解釋內(nèi)核還要需要軟件的開(kāi)發(fā)者自己親自來(lái)制作。宏就是此種類項(xiàng)的插件。所謂宏,就是一些命令組織在一起,作為一個(gè)單獨(dú)命令完成一個(gè)特定任務(wù)。Microsoft Word中對(duì)宏定義為:“宏就是能組織到一起作為一獨(dú)立的命令使用的一系列word命令,它能使日常工作變得更容易”。這種軟件的優(yōu)點(diǎn)就是不再需要企業(yè)的工具來(lái)制作插件,軟件自己本身就可以完成需求,在辦公室軟件經(jīng)常會(huì)看到,如用Office內(nèi)置的VBScript完成的Office輔助工具。
(三)3.3 已有程序環(huán)境插件
充分利用已經(jīng)擁有的程序開(kāi)發(fā)環(huán)境來(lái)制作插件。典型的就是類似Photoshop等軟件的使用方法。利用這種開(kāi)發(fā)的軟件,通過(guò)在主程序中建立更多的自定義接口,以便于在尋找各種資源時(shí)能夠更加的自由方便。這種插件與類似于命令插件正好相反,它具有其很大的自由性,可以充分發(fā)揮插件開(kāi)發(fā)者的創(chuàng)新思想,便于開(kāi)發(fā)者打開(kāi)思路,這種插件才是真正意義上的插件。但這種插件的編寫存在很大的難度,并不是任何人都能學(xué)會(huì)和運(yùn)用的,在插件的接口之間協(xié)調(diào)起來(lái)還比較的有難度,即使是插件的開(kāi)發(fā)都需要專業(yè)程序員的才能進(jìn)行開(kāi)發(fā)。
4 插件在計(jì)算機(jī)軟件中的應(yīng)用
4.1 插件技術(shù)在計(jì)算機(jī)軟件中的開(kāi)發(fā)
在掌握其插件系統(tǒng)的原理和方法的基礎(chǔ)上,就能開(kāi)發(fā)出新的有用的插件系統(tǒng)。不論運(yùn)用何種手段,插件與主程序之間在交互上必須有一個(gè)規(guī)定的協(xié)議。插件構(gòu)成類來(lái)完成并實(shí)現(xiàn)接口,是為主程序的創(chuàng)建和銷毀類提供了方法。這樣公共方法就成了協(xié)議中的一部分。在主程序的實(shí)現(xiàn)方面,主程序是一個(gè)依據(jù)對(duì)話框標(biāo)準(zhǔn)的程序,它可以約定所有的插件都放在主程序的目錄中的子目錄下。完成并實(shí)現(xiàn)接口,是為主程序的創(chuàng)建和銷毀類提供了方法。在主程序的實(shí)現(xiàn)方面,主程序是一個(gè)依據(jù)對(duì)話框標(biāo)準(zhǔn)的程序,它可以約定所有的插件都放在主程序的目錄中的子目錄下。
在計(jì)算機(jī)軟件中,硬件插件技術(shù)在軟件插件技術(shù)之前出現(xiàn),軟件插件技術(shù)是在硬件插件技術(shù)發(fā)展的基礎(chǔ)上進(jìn)行完善與發(fā)展,軟件插件技術(shù)集合了硬件插件技術(shù)的優(yōu)勢(shì),又得到了新的進(jìn)步發(fā)展,軟件技術(shù)是通過(guò)接口與主程序進(jìn)行連接,因其革新與有效的拓展,保證了系統(tǒng)更好的為用戶服務(wù)。
在實(shí)際的應(yīng)用過(guò)程中,要保證計(jì)算機(jī)軟件系統(tǒng)健康發(fā)展。插件是獨(dú)立存在于計(jì)算機(jī)軟件中,插件與插件之間是不發(fā)生任何關(guān)系的。計(jì)算機(jī)會(huì)為插件技術(shù)的運(yùn)行提供一定的運(yùn)行環(huán)境,用戶會(huì)根據(jù)自身的實(shí)際需求,決定插件的去留,增減插件是一項(xiàng)十分簡(jiǎn)單容易的操作。
計(jì)算機(jī)軟件中插件技術(shù)的開(kāi)發(fā)需要依托一定的平臺(tái),在以開(kāi)發(fā)為目標(biāo)進(jìn)行一定的軟件系統(tǒng)分類時(shí),一般分為兩部分:宿主程序與功能擴(kuò)展模塊。前者是軟件系統(tǒng)中的重要組成部分,后者是軟件系統(tǒng)中給的補(bǔ)充部分,保證軟件功能的完善發(fā)展。一個(gè)軟件技術(shù)的開(kāi)發(fā)與設(shè)計(jì)是需要進(jìn)行提前的規(guī)劃,因?yàn)橐紤]到眾多的用戶的需求和軟件系統(tǒng)的應(yīng)用環(huán)境等。
插件技術(shù)在不斷地發(fā)展應(yīng)用,插件技術(shù)已經(jīng)應(yīng)用到數(shù)據(jù)開(kāi)發(fā)領(lǐng)域。插件技術(shù)在數(shù)據(jù)庫(kù)開(kāi)發(fā)過(guò)程中進(jìn)行一定的利用,有助于實(shí)現(xiàn)開(kāi)發(fā)方式由縱向變成橫向,提高開(kāi)發(fā)的效率與保證開(kāi)發(fā)工作量。
4.2 插件技術(shù)在計(jì)算機(jī)軟件中的具體應(yīng)用
計(jì)算機(jī)中的插件大致分為兩種,硬插件與軟插件,硬插件包括顯卡、聲卡、網(wǎng)卡、內(nèi)存條等,軟插件包括播放器、解碼器、木馬類插件、專用插件等,下面舉例說(shuō)明插件在軟件中的具體應(yīng)用:
(1)IE插件,即Plug-in,是一種程序。在瀏覽器中,大都采用直接調(diào)用插件程序,處理特定文件,變成瀏覽器的一部分。
在使用IE插件方面,在操作系統(tǒng)時(shí),對(duì)于彈出式窗口的選擇。在默認(rèn)的設(shè)置時(shí),IE對(duì)彈出的窗口都是接收的,可以在“Internet屬性-隱私”標(biāo)簽頁(yè)中進(jìn)行選擇,關(guān)閉彈出窗口;對(duì)于IE插件要實(shí)行集中的管理方式,通過(guò)“Internet屬性-程序”標(biāo)簽頁(yè)遭到“管理加載項(xiàng)”,這里整合了一切,集中進(jìn)行管理,把不需要的禁用。
(2)FLASH插件,安裝于瀏覽器的FLASH插件,用以瀏覽器播放swf文件。在土豆、優(yōu)酷等播放器看視頻時(shí),如果沒(méi)有安裝FLASH插件,播放功能就無(wú)法使用。通過(guò)安裝,在系統(tǒng)中,就可以直接觀看視頻了。
五、5 插件技術(shù)應(yīng)用于軟件技術(shù)中的優(yōu)勢(shì)
(1)插件技術(shù)在很多的方面都有著很大的優(yōu)勢(shì),比如在項(xiàng)目計(jì)劃、產(chǎn)品擴(kuò)展和協(xié)作生產(chǎn)上;(2)插件之間是相互獨(dú)立存在的,在結(jié)構(gòu)上容易理解,構(gòu)造十分清楚明白;(3)由于插件的結(jié)構(gòu)是非常靈活的,可以隨時(shí)刪除,更方便軟件的升級(jí)與維護(hù);(4)插件本身由一系列的小插件功能結(jié)構(gòu)組成,并且通過(guò)接口向外部提供服務(wù),所以具有可移植性,重用力度大的功能;在結(jié)構(gòu)調(diào)整方面,只需要?jiǎng)h除相應(yīng)的插件,不會(huì)影響整體的結(jié)構(gòu),這樣就減少了調(diào)整結(jié)構(gòu)的不便;(5)在耦合度方面,插件是通過(guò)與宿主程序通信來(lái)實(shí)現(xiàn)插件與插件、插件與宿主程序之間的聯(lián)系,這樣插件的耦合度就更加的低下;(6)在軟件開(kāi)發(fā)的過(guò)程中就可以隨時(shí)的修改應(yīng)用程序,運(yùn)用插件結(jié)構(gòu),也可以在應(yīng)用程序發(fā)行之后,運(yùn)用補(bǔ)丁包的方式增刪插件,以達(dá)到修改應(yīng)用程序目的。
6 結(jié)束語(yǔ)
計(jì)算機(jī)軟件中的插件技術(shù),在一定的程度上節(jié)約了時(shí)間,降低了軟件的開(kāi)發(fā)成本,及時(shí)對(duì)軟件進(jìn)行更新,進(jìn)而滿足客戶的各種要求。計(jì)算機(jī)軟件中的插件技術(shù)在實(shí)際的應(yīng)用過(guò)程中也得到檢驗(yàn),其優(yōu)勢(shì)十分顯著。
參考文獻(xiàn):
[1]劉興平.馬燕.杜利峰.插件技術(shù)研究初探[J].延安大學(xué)學(xué)報(bào),2006(01).
[2]陳方明.建基于插件思想的可重用插件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005(01).
[3]范彥芳,高國(guó)弘,李香芳,梁培,崔巍,魚(yú)杰鈞,康鶴.基于網(wǎng)頁(yè)插件技術(shù)的氣象信息Web共享方式研究[A].2011年中國(guó)氣象學(xué)會(huì)氣象通信與信息技術(shù)委員會(huì)暨國(guó)家氣象信息中心科技年會(huì)論文摘要[C],2011.
[4]沈被娜.計(jì)算機(jī)軟件基礎(chǔ)[J].清華大學(xué)出版社,2000(07).
[5]高巍,崔洪芳.計(jì)算機(jī)軟件技術(shù)基礎(chǔ)[M].北京:北京大學(xué)出版社,2007.
[6]董力均.計(jì)算機(jī)科學(xué)與技術(shù)[M].北京:北京語(yǔ)言大學(xué)出版社,2002.
[7]蔡廣松.關(guān)于計(jì)算機(jī)軟件中的插件技術(shù)的探討[J].中計(jì)算機(jī)光盤軟件與應(yīng)用,2013(15).
[8]付寧.唐寶燕.對(duì)計(jì)算機(jī)軟件中的插件技術(shù)分析研究[J].無(wú)限互聯(lián)科技,2012.
[9]姜川.計(jì)算機(jī)軟件中的插件技術(shù)及應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2013.
[10]宋彭濤,蔣烈輝,謝耀濱,王九宇,余弦,田立.基于插件技術(shù)的多目標(biāo)指令集模擬器設(shè)計(jì)與實(shí)現(xiàn)[J].信息工程大學(xué)學(xué)報(bào),2010(01).
作者簡(jiǎn)介:許貴(1968.05-),男,壯族,廣西天等人,實(shí)驗(yàn)師,研究方向:中職教育計(jì)算機(jī)應(yīng)用實(shí)驗(yàn)教學(xué)及管理。
作者單位:廣西欽州農(nóng)業(yè)學(xué)校,廣西欽州 535099