本技術(shù)涉及計(jì)算機(jī)應(yīng)用,具體涉及一種應(yīng)用軟件的跨平臺(tái)遷移方法和裝置,計(jì)算機(jī)存儲(chǔ)介質(zhì)和電子設(shè)備。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,各種依托于系統(tǒng)架構(gòu)的電子設(shè)備也隨之變得越來(lái)越多元化和全面化。
2、同一應(yīng)用軟件在不同的系統(tǒng)架構(gòu)的電子設(shè)備中進(jìn)行應(yīng)用,是一個(gè)涉及跨平臺(tái)兼容性和技術(shù)適配的復(fù)雜過(guò)程。應(yīng)用軟件在多個(gè)不同系統(tǒng)上的實(shí)現(xiàn)需要開(kāi)發(fā)者具備跨平臺(tái)開(kāi)發(fā)的技能和經(jīng)驗(yàn)。通過(guò)使用跨平臺(tái)框架和庫(kù)、編寫(xiě)可移植的代碼、進(jìn)行充分的兼容性測(cè)試以及針對(duì)特定平臺(tái)進(jìn)行適配和優(yōu)化等措施,可以確保應(yīng)用軟件在不同系統(tǒng)上的穩(wěn)定運(yùn)行和良好用戶體驗(yàn)。也就是說(shuō),面對(duì)不同的系統(tǒng)需要針對(duì)每個(gè)系統(tǒng)對(duì)應(yīng)用軟件采用對(duì)應(yīng)技術(shù)開(kāi)發(fā)方法,以便應(yīng)用軟件可以適配在不同的系統(tǒng)中。
3、以上就是對(duì)應(yīng)用軟件如何在不同系統(tǒng)平臺(tái)實(shí)現(xiàn)兼容適配過(guò)程的背景技術(shù)介紹。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種應(yīng)用軟件的跨平臺(tái)遷移方法,以解決現(xiàn)有技術(shù)中在跨系統(tǒng)進(jìn)行應(yīng)用軟件開(kāi)發(fā)過(guò)程中存在的復(fù)雜性和高成本的問(wèn)題。
2、本技術(shù)提供一種應(yīng)用軟件的跨平臺(tái)遷移方法,包括:
3、基于渲染引擎對(duì)目標(biāo)應(yīng)用軟件進(jìn)行虛擬化組件定義,確定包括有所述目標(biāo)應(yīng)用軟件的虛擬頁(yè)面組件和虛擬模塊組件的目標(biāo)渲染引擎;其中,所述虛擬頁(yè)面組件為表征頁(yè)面元素信息的虛擬組件,所述虛擬模塊組件為實(shí)現(xiàn)所述目標(biāo)應(yīng)用軟件交互功能的虛擬組件;
4、根據(jù)遷移平臺(tái)的編程語(yǔ)言要求,對(duì)所述虛擬頁(yè)面組件和所述虛擬模塊組件進(jìn)行動(dòng)態(tài)化腳本生成或者修改,并將與所述虛擬頁(yè)面組件對(duì)應(yīng)的第一動(dòng)態(tài)化腳本和與所述虛擬模塊組件對(duì)應(yīng)的第二動(dòng)態(tài)化腳本,確定為目標(biāo)遷移數(shù)據(jù);
5、根據(jù)所述遷移平臺(tái)提供的接口,將所述目標(biāo)渲染引擎和所述目標(biāo)遷移數(shù)據(jù)遷移到所述遷移平臺(tái)。
6、在一些實(shí)施例中,所述基于渲染引擎對(duì)目標(biāo)應(yīng)用軟件進(jìn)行虛擬化組件定義,包括:
7、根據(jù)所述目標(biāo)應(yīng)用軟件中的訪問(wèn)請(qǐng)求,確定與所述訪問(wèn)請(qǐng)求對(duì)應(yīng)的訪問(wèn)事件為虛擬頁(yè)面事件還是為虛擬模塊事件;
8、若是所述虛擬頁(yè)面事件,則根據(jù)所述虛擬頁(yè)面事件定義所述虛擬頁(yè)面組件的執(zhí)行任務(wù);
9、若是所述虛擬模塊事件,則根據(jù)所述虛擬模塊事件定義所述虛擬模塊組件的執(zhí)行任務(wù)。
10、在一些實(shí)施例中,所述根據(jù)所述目標(biāo)應(yīng)用軟件中的訪問(wèn)請(qǐng)求,確定與所述訪問(wèn)請(qǐng)求對(duì)應(yīng)的訪問(wèn)事件為虛擬頁(yè)面事件還是為虛擬模塊事件,包括:
11、根據(jù)所述訪問(wèn)請(qǐng)求,確定所述目標(biāo)應(yīng)用軟件的頁(yè)面狀態(tài)變化類(lèi)型;
12、根據(jù)所述頁(yè)面狀態(tài)變化類(lèi)型,確定所述訪問(wèn)事件為所述虛擬頁(yè)面事件還是為所述虛擬模塊事件。
13、在一些實(shí)施例中,所述根據(jù)所述訪問(wèn)請(qǐng)求,確定所述目標(biāo)應(yīng)用軟件的頁(yè)面狀態(tài)變化類(lèi)型,包括:
14、根據(jù)所述訪問(wèn)請(qǐng)求,確定與所述訪問(wèn)事件對(duì)應(yīng)的訪問(wèn)頁(yè)面中是否為與所述訪問(wèn)事件對(duì)應(yīng)的第一虛擬模塊組件本身的變化;
15、若是,則確定所述頁(yè)面狀態(tài)變化類(lèi)型為虛擬模塊組件變化類(lèi)型;
16、所述根據(jù)所述頁(yè)面狀態(tài)變化類(lèi)型,確定所述訪問(wèn)事件為所述虛擬頁(yè)面事件還是為所述虛擬模塊事件,包括:
17、根據(jù)所述虛擬模塊組件變化類(lèi)型,確定所述訪問(wèn)事件為所述虛擬模塊事件。
18、在一些實(shí)施例中,所述根據(jù)所述訪問(wèn)請(qǐng)求,確定所述目標(biāo)應(yīng)用軟件的頁(yè)面狀態(tài)變化類(lèi)型,包括:
19、根據(jù)所述訪問(wèn)請(qǐng)求,確定與所述訪問(wèn)事件對(duì)應(yīng)的訪問(wèn)頁(yè)面中是否包括第二虛擬模塊組件的變化;
20、若是,則確定所述頁(yè)面狀態(tài)變化類(lèi)型為虛擬頁(yè)面組件變化類(lèi)型;
21、所述根據(jù)所述頁(yè)面狀態(tài)變化類(lèi)型,確定所述訪問(wèn)事件為所述虛擬頁(yè)面事件還是為所述虛擬模塊事件,包括:
22、根據(jù)所述虛擬頁(yè)面組件變化類(lèi)型,確定所述訪問(wèn)事件為所述虛擬頁(yè)面事件。
23、在一些實(shí)施例中,所述若是所述虛擬頁(yè)面事件,則根據(jù)所述虛擬頁(yè)面事件定義所述虛擬頁(yè)面組件的執(zhí)行任務(wù),包括:
24、根據(jù)所述虛擬頁(yè)面事件,定義所述虛擬頁(yè)面組件的數(shù)據(jù)回收任務(wù);
25、將所述數(shù)據(jù)回收任務(wù)確定為所述虛擬頁(yè)面組件的執(zhí)行任務(wù)。
26、在一些實(shí)施例中,根據(jù)所述虛擬頁(yè)面事件,定義所述虛擬頁(yè)面組件的數(shù)據(jù)回收任務(wù),包括:
27、接收所述虛擬模塊組件發(fā)送的所述虛擬頁(yè)面事件;
28、根據(jù)所述虛擬頁(yè)面事件,觸發(fā)數(shù)據(jù)回收請(qǐng)求;
29、根據(jù)所述數(shù)據(jù)回收請(qǐng)求,確定所述虛擬頁(yè)面組件的數(shù)據(jù)回收任務(wù)。
30、在一些實(shí)施例中,所述根據(jù)所述虛擬頁(yè)面事件,定義所述虛擬頁(yè)面組件的數(shù)據(jù)回收任務(wù),包括:
31、根據(jù)所述虛擬頁(yè)面事件,確定與所述訪問(wèn)請(qǐng)求對(duì)應(yīng)的訪問(wèn)頁(yè)面需要的頁(yè)面數(shù)據(jù)為近端數(shù)據(jù)還是為遠(yuǎn)端數(shù)據(jù);
32、若為所述遠(yuǎn)端數(shù)據(jù),則根據(jù)所述訪問(wèn)請(qǐng)求從遠(yuǎn)端獲取對(duì)應(yīng)的目標(biāo)頁(yè)面數(shù)據(jù);
33、若為所述近端數(shù)據(jù),則根據(jù)所述訪問(wèn)請(qǐng)求從近端獲取對(duì)應(yīng)的目標(biāo)頁(yè)面數(shù)據(jù);
34、根據(jù)所述目標(biāo)頁(yè)面數(shù)據(jù)對(duì)所述訪問(wèn)頁(yè)面進(jìn)行更新。
35、在一些實(shí)施例中,還包括:
36、根據(jù)從所述遠(yuǎn)端獲取的所述目標(biāo)頁(yè)面數(shù)據(jù)進(jìn)行數(shù)據(jù)回寫(xiě);
37、根據(jù)回寫(xiě)的數(shù)據(jù)對(duì)所述虛擬頁(yè)面組件對(duì)應(yīng)的所述訪問(wèn)頁(yè)面中的頁(yè)面組件進(jìn)行更新,以及對(duì)所述虛擬模塊組件對(duì)應(yīng)的所述訪問(wèn)頁(yè)面中的模塊組件進(jìn)行更新。
38、在一些實(shí)施例中,所述若是所述虛擬模塊事件,則根據(jù)所述虛擬模塊事件定義所述虛擬模塊組件的執(zhí)行任務(wù),包括:
39、根據(jù)所述虛擬模塊事件,確定與所述虛擬模塊事件對(duì)應(yīng)的模塊數(shù)據(jù);
40、根據(jù)所述模塊數(shù)據(jù),對(duì)與所述訪問(wèn)請(qǐng)求對(duì)應(yīng)的訪問(wèn)頁(yè)面進(jìn)行更新。
41、在一些實(shí)施例中,所述根據(jù)遷移平臺(tái)的編程語(yǔ)言要求,對(duì)所述虛擬頁(yè)面組件和所述模塊組件進(jìn)行動(dòng)態(tài)化腳本生成或者修改,包括:
42、根據(jù)所述虛擬頁(yè)面組件的執(zhí)行任務(wù)進(jìn)行動(dòng)態(tài)化腳本生成或修改,確定所述第一動(dòng)態(tài)化腳本;
43、根據(jù)所述虛擬模塊組件的執(zhí)行任務(wù)進(jìn)行動(dòng)態(tài)化腳本生成或修改,確定所述第二動(dòng)態(tài)化腳本。
44、本技術(shù)還提供一種跨平臺(tái)遷移應(yīng)用軟件的頁(yè)面輸出方法,包括:
45、響應(yīng)于對(duì)遷移平臺(tái)上目標(biāo)應(yīng)用軟件的訪問(wèn)請(qǐng)求,將應(yīng)用頁(yè)面輸出在所述遷移平臺(tái)的所述目標(biāo)應(yīng)用軟件的客戶端界面;其中,所述應(yīng)用頁(yè)面基于上述應(yīng)用軟件的跨平臺(tái)遷移方法生成。
46、本技術(shù)還提供一種跨平臺(tái)遷移應(yīng)用軟件的頁(yè)面輸出裝置,包括:
47、輸出單元,用于響應(yīng)于對(duì)遷移平臺(tái)上目標(biāo)應(yīng)用軟件的訪問(wèn)請(qǐng)求,將應(yīng)用頁(yè)面輸出在所述遷移平臺(tái)的所述目標(biāo)應(yīng)用軟件的客戶端界面;其中,所述應(yīng)用頁(yè)面基于上述應(yīng)用軟件的跨平臺(tái)遷移方法生成。
48、本技術(shù)還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于存儲(chǔ)網(wǎng)絡(luò)平臺(tái)產(chǎn)生數(shù)據(jù),以及對(duì)應(yīng)所述網(wǎng)絡(luò)平臺(tái)產(chǎn)生數(shù)據(jù)進(jìn)行處理的程序;
49、所述程序在被處理器讀取執(zhí)行時(shí),執(zhí)行如上述應(yīng)用軟件的跨平臺(tái)遷移方法。
50、本技術(shù)還提供一種電子設(shè)備,包括:
51、處理器;
52、存儲(chǔ)器,用于存儲(chǔ)對(duì)網(wǎng)絡(luò)平臺(tái)產(chǎn)生數(shù)據(jù)進(jìn)行處理的程序,所述程序在被所述處理器讀取執(zhí)行時(shí),執(zhí)行如上述應(yīng)用軟件的跨平臺(tái)遷移方法。
53、與現(xiàn)有技術(shù)相比,本技術(shù)具有以下優(yōu)點(diǎn):
54、本技術(shù)提供的一種應(yīng)用軟件的跨平臺(tái)遷移方法,通過(guò)目標(biāo)應(yīng)用軟件實(shí)現(xiàn)基于渲染引擎虛擬抽象出的虛擬頁(yè)面組件和虛擬模塊組件對(duì)應(yīng)的遷移數(shù)據(jù),并通過(guò)遷移平臺(tái)提供的接口,遷移到所述遷移平臺(tái)中實(shí)現(xiàn)目標(biāo)應(yīng)用軟件的跨平臺(tái)應(yīng)用,一方面無(wú)需對(duì)目標(biāo)應(yīng)用軟件為適應(yīng)另一平臺(tái)(或系統(tǒng)),以另一個(gè)平臺(tái)的編程需要重新進(jìn)行開(kāi)發(fā),降低目標(biāo)應(yīng)用軟件在跨平臺(tái)實(shí)現(xiàn)應(yīng)用成本;另一方面,通過(guò)渲染引擎對(duì)目標(biāo)應(yīng)用軟件進(jìn)行虛擬化組件定義,確定包括有所述目標(biāo)應(yīng)用軟件的虛擬頁(yè)面組件和虛擬模塊組件的目標(biāo)渲染引擎,以及與虛擬頁(yè)面組件和虛擬模塊組件相對(duì)應(yīng)虛擬頁(yè)面事件和虛擬模塊事件的執(zhí)行任務(wù)處理邏輯的定義,實(shí)現(xiàn)通過(guò)輕量級(jí)渲染引擎完成目標(biāo)應(yīng)用軟件跨平臺(tái)的應(yīng)用,即便是在跨多平臺(tái)的場(chǎng)景下,只需要修改動(dòng)態(tài)化腳本,即可實(shí)現(xiàn)動(dòng)態(tài)化跨平臺(tái)應(yīng)用,并且在實(shí)現(xiàn)快速遷移的同時(shí)還能保留原有目標(biāo)應(yīng)用軟件的開(kāi)發(fā)結(jié)構(gòu),不影響目標(biāo)應(yīng)用軟件的迭代維護(hù)。