◆牟楊
基于仿生智能軟件適應性解決多瀏覽器兼容問題的解決方案
◆牟楊
(上海體育學院 上海 200438)
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,通過瀏覽器訪問各類網(wǎng)站成為獲取信息和網(wǎng)上辦事的主要方式,多種瀏覽器并存的現(xiàn)狀造成了各類兼容性問題,大大降低了用戶體驗感,成為互聯(lián)網(wǎng)信息化的一個“痛點”。在互聯(lián)網(wǎng)的世界里,IE、火狐(Firefox)、谷歌(Chrome)、360安全瀏覽器、Safari和Opera等瀏覽器占據(jù)了互聯(lián)網(wǎng)世界的大部分入口,瓜分了互聯(lián)網(wǎng)世界的市場份額;就好比沙漠,海洋,高原,冰川等不同地理環(huán)境分割了整個地球,能夠突破瀏覽器的限制在互聯(lián)網(wǎng)世界里暢游的網(wǎng)絡系統(tǒng)數(shù)量很少。另一方面,自然界的物種適應性比較強的動物卻能在各種地貌環(huán)境自由生存,如狐貍既有沙漠狐也有北極狐,它們能夠在極度干旱或嚴寒的環(huán)境中適應生存。那么受自然界生物適應性的啟發(fā),通過仿生智能軟件開發(fā)的手段,借助軟件誕生階段的適應性應用,來解決瀏覽器兼容性問題就是本文要討論的內(nèi)容。誕生不過幾十年的IT行業(yè),向有著幾億年的生物界學習,既是大勢所趨也是一種新穎可行的思考方式。
仿生軟件;軟件開發(fā)技術(shù);人工智能;瀏覽器兼容性
如今的網(wǎng)上辦事系統(tǒng)多種多樣,以高校為例,涵蓋人事、教務、學工、研究生、財務等幾十個業(yè)務系統(tǒng),而往往一個網(wǎng)站系統(tǒng)只能兼容一到兩種瀏覽器。當發(fā)生兼容問題時,只能安裝新的瀏覽器或是更新瀏覽器版本,簡單的網(wǎng)上事務卻因為瀏覽器兼容問題花費較多時間的情況屢屢發(fā)生,師生怨聲載道。
這種解決方式和大自然的生物適應性相比還是顯得十分不足,好比大耳朵的沙漠狐誤入了寒冷的冰川,通過外科手術(shù)去掉易于散熱的耳朵,再植入一個保暖的毛絨小耳朵。這種后期打補丁似的生搬硬套的解決方式既不合理也沒有藝術(shù)性,更給用戶體驗帶來困惑和不便。
而大自然的解決方式是在問題出現(xiàn)的最早期便完美地解決了,它是通過上一代DNA遺傳因子賦予了狐貍能夠在所在地理環(huán)境所需要的各種生物特征,如北極狐就有一雙適應極地生活的保暖毛絨小耳朵。IT界的解決方式也是應該在軟件開發(fā)的最早期完成,才能給用戶在暢游含有各種瀏覽器的互聯(lián)網(wǎng)世界里流暢的無縫連接的較為完美的用戶體驗。
向狐貍等適應性強的生物去學習來解決IT瀏覽器的兼容性問題不是憑空想象而是有理論基礎的。仿生軟件工程的重要依據(jù)是軟件和生物與生俱來的可比性。北京大學楊芙清教授指出,軟件具有生物特性,應用軟件的生產(chǎn)模式應該模擬生物的生產(chǎn)模式而非硬件的生產(chǎn)模式[1]。
為了能更準確通過IT技術(shù)手段對生物適應性進行學習和模擬,我們首先需要對生物適應性的特點進行歸納。還是以北極狐和沙漠狐為例,北極狐不僅耳朵較短小,尾巴和四肢也比較短小。有利于防止熱量過分散失,是和寒冷的環(huán)境相適應的。沙漠狐能夠通過較大的耳朵和其他器官,及時散失體內(nèi)大量的熱量,適應炎熱的生活環(huán)境。狐貍的生物適應性是“與生俱來”的,從娘胎里帶出來的,它生下來就是適應所在環(huán)境的。而生物的這種與環(huán)境相適應的生物特征是通過DNA遺傳的,是經(jīng)過上百萬年的進化形成的。狐貍等動物的生物適應性可供學習的特點歸納如下:
(1)生物適應性“與生俱來”的,不是后天修補的;
(2)物種的生物適應性差異是經(jīng)過百萬年的進化濃縮到DNA遺傳因子中去的;
(3)生物適應性過程是無人工干預的。
2.2.1選擇一款全自動軟件開發(fā)框架
根據(jù)上文2.1的特點“生物適應性過程是無人工干預的”,那么在軟件開發(fā)上需要全自動生成軟件框架,當今的全自動開發(fā)軟件雖然沒有成為軟件框架的主流,但也還是有一些仿生軟件框架可供選擇。由于資源有限姑且用一款“全周期生命態(tài)的自動編程”框架進行現(xiàn)行試驗,需要預先構(gòu)建以下的輔助模塊與系統(tǒng),如軟件系統(tǒng)生成流程模塊、網(wǎng)頁控件生成及測試系統(tǒng)、系統(tǒng)事務性操作執(zhí)行系統(tǒng)、網(wǎng)頁整合集成模塊以及模擬測試數(shù)據(jù)等系統(tǒng)及模塊。其開發(fā)流程可見論文《關于生命科學應用于智能化軟件開發(fā)的初步實踐及思考》中開發(fā)框架部分,本文不作累述。
2.2.2將瀏覽量作為一個參數(shù)傳入仿生智能軟件開發(fā)框架中
根據(jù)2.1的特點“物種的生物適應性差異是經(jīng)過百萬年的進化濃縮到DNA遺傳因子中去的”;那么在生物進化的過程中,如沙漠,冰原作為一種環(huán)境因素造成了同一物種的多種形態(tài),用IT的語言來講就是通過輸入了“環(huán)境變量”來使生物多種多樣。在具體的軟件開發(fā)中,需要在最開始就把瀏覽器作為一個“環(huán)境變量”傳入到仿生智能軟件開發(fā)框架中去,當今的瀏覽器的“環(huán)境變量”的具體值為IE,Google,360等,讓網(wǎng)站系統(tǒng)或軟件自動去適應各種瀏覽器。
“全周期生命態(tài)的自動編程”的流程是第一個網(wǎng)頁組件模仿生物的受精卵開始構(gòu)建,到各個網(wǎng)頁和部件的自動創(chuàng)建,直至最后系統(tǒng)全部完成,但其中每一步都需要對新增控件和部件進行自動測試[3]。這個自動測試對于網(wǎng)絡系統(tǒng)的開發(fā)來說,就是調(diào)用具體的瀏覽器可執(zhí)行文件進行自動測試。一般來講,IE還是在當今最具統(tǒng)治力的瀏覽器,在自動測試的”瀏覽器輸入?yún)?shù)”中輸入IE所在的儲存位置即可,例如:[C:Program FilesInternet Exploreriexplore.exe];在每一個控件和網(wǎng)頁測試環(huán)境開發(fā)框架都會調(diào)用IE瀏覽器可執(zhí)行文件去進行自動測試,如果到最后整個系統(tǒng)正常的構(gòu)建完成,如果測試樣例足夠充分的話,那么最終開發(fā)完成的產(chǎn)品就是完全兼容IE瀏覽器的。
當想生成一款適合Google瀏覽器的產(chǎn)品又如何操作呢?只需把測試參數(shù)中的”瀏覽器輸入?yún)?shù)”變?yōu)楣雀铻g覽器所在的儲存位置即可,例如:[C:Program FilesGoogleChromeApplicationchrome.exe];在每一個控件和網(wǎng)頁測試環(huán)境開發(fā)框架都會調(diào)用IE瀏覽器可執(zhí)行文件去進行自動測試,如果到最后整個系統(tǒng)正常的構(gòu)建完成,那么就形成了一套適合與谷歌瀏覽器的代碼。
自動編程工具的優(yōu)勢也在此體現(xiàn),適應不同瀏覽器的代碼在切換測試瀏覽器就能實現(xiàn)。而生成的IE版產(chǎn)品,谷歌版產(chǎn)品,如同沙漠狐和北極狐一樣適應著不同的地理環(huán)境。
在不同瀏覽器測試中出現(xiàn)問題該如何解決呢,在實際開發(fā)中我們不能像生物系統(tǒng)的進化一樣讓系統(tǒng)自動匹配。以IE早期瀏覽器“不支持“trim”函數(shù)為例,在開發(fā)框架中就應該寫入自動判斷代碼,當測試瀏覽器為IE時,自動編寫代碼將不能調(diào)用“trim”函數(shù),但可以通過原生js來擴展String方法的方式以實現(xiàn)“trim”函數(shù)的功能。這種建立瀏覽器差異“基因庫”,就和不同地域同種生物的DNA差異一樣,幫助軟件產(chǎn)品能適應不同的瀏覽器。瀏覽器差異“基因庫”的積累是一個長期的過程,但一旦構(gòu)建完成,就可以通過智能編程工具生成適應不同瀏覽器的系統(tǒng)版本,從而解決瀏覽器兼容問題。
在自動生成多套瀏覽器代碼之后,我們需要在用戶登錄頁面即系統(tǒng)的最初始頁面,加上JavaScript 判斷用戶所使用的瀏覽器,加上邏輯判斷匹配到對應的瀏覽器代碼;這樣從入口就匹配了瀏覽器種類,較為完備解決了瀏覽器兼容問題。
本文從解決瀏覽器兼容問題的角度出發(fā),模擬生物環(huán)境適應性特征,利用仿生智能軟件自動生成多套產(chǎn)品代碼,通過登錄界面自動適應用戶所使用的瀏覽器。這樣讓用戶無感知地通過各種瀏覽器暢游互聯(lián)網(wǎng)世界,擺脫了多瀏覽器兼容問題帶來的不便和困惑,不失為一種徹底的和帶有前瞻性解決方案。
[1]楊芙清. 軟件工程技術(shù)發(fā)展思索[J].軟件學報,2005, 16(1):1-7.
[2]百度百科-狐-生物物種,動物https://baike.baidu.com/item/%E7%8B%90/3390860?fr=aladdin.
[3]牟楊. 關于生命科學應用于智能化軟件開發(fā)的初步實踐及思考[J]. 網(wǎng)絡安全技術(shù)與應用,2019(11):60-63.