一種跨平臺(tái)web應(yīng)用的打包方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用軟件技術(shù)領(lǐng)域,特別涉及一種跨平臺(tái)web應(yīng)用的打包方法。
【背景技術(shù)】
[0002]隨著智能終端設(shè)備的普及以及通訊技術(shù)的迅猛發(fā)展,web應(yīng)用相比傳統(tǒng)的C/S (客戶端/服務(wù)器)模式的應(yīng)用程序優(yōu)越性愈加明顯。越來越多的web應(yīng)用在具備訪問本設(shè)備的能力的同時(shí),被跨平臺(tái)應(yīng)用到其他平臺(tái)(如Android、Blackberry、Windows、Firefox等)環(huán)境中。
[0003]發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn):
現(xiàn)有的跨平臺(tái)web應(yīng)用打包采用單獨(dú)對(duì)每個(gè)web應(yīng)用進(jìn)行打包的方式,需要將web應(yīng)用所有的庫(kù)文件打包到APP中,當(dāng)設(shè)備安裝的web應(yīng)用比較多時(shí),會(huì)占用比較多的存儲(chǔ)空間;另外在傳統(tǒng)的打包方式下當(dāng)同一平臺(tái)下的多個(gè)web應(yīng)用因運(yùn)行平臺(tái)發(fā)生變化進(jìn)行版本升級(jí)時(shí),需要對(duì)所有的web應(yīng)用重新進(jìn)行打包,一方面增加了程序開發(fā)人員的工作量,另一方面web應(yīng)用的可移植性比較差。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種跨平臺(tái)web應(yīng)用打包的方法,以節(jié)省終端設(shè)備web-APP所占的存儲(chǔ)空間,增強(qiáng)web應(yīng)用版本變化時(shí)的可移植性。
[0005]為達(dá)到上述目的,本發(fā)明提供的一種跨平臺(tái)web應(yīng)用打包的方法可以通過以下技術(shù)方案為:
一種跨平臺(tái)web應(yīng)用打包的方法,該方法包括將web應(yīng)用公用的運(yùn)行平臺(tái)核心庫(kù)文件單獨(dú)打包成一個(gè)共享APP,并且將各web應(yīng)用的非公用部分分別打包成獨(dú)立APP ;獨(dú)立APP運(yùn)行時(shí)通過調(diào)用共享APP與其運(yùn)行平臺(tái)的核心庫(kù)文件進(jìn)行交互實(shí)現(xiàn)web應(yīng)用的功能。
[0006]具體的,將web應(yīng)用公用的運(yùn)行平臺(tái)核心庫(kù)文件單獨(dú)打包成一個(gè)共享APP包括:
a、在web應(yīng)用運(yùn)行平臺(tái)中創(chuàng)建一個(gè)空工程;
b、從web平臺(tái)提供的庫(kù)文件工程包中獲取web平臺(tái)的核心庫(kù)文件,導(dǎo)入上述空工程;
C、在上述工程中添加提供共享APP安裝信息的功能以及供獨(dú)立APP調(diào)用共享APP的接口功能;
d、對(duì)執(zhí)行完上述操作的工程進(jìn)行編譯、打包,生成一個(gè)共享APP。
[0007]具體的,將各web應(yīng)用的非公用部分分別打包成獨(dú)立APP包括:
a、在web應(yīng)用運(yùn)行平臺(tái)中創(chuàng)建一個(gè)空工程,將待打包的web應(yīng)用程序包導(dǎo)入所述空工程獲得生成獨(dú)立APP的應(yīng)用工程;
b、生成與web平臺(tái)交互相關(guān)的庫(kù)文件;
具體的,從web平臺(tái)提供的庫(kù)文件工程包中獲取與web平臺(tái)交互相關(guān)的庫(kù)包;對(duì)所述庫(kù)包進(jìn)行封裝生成與web平臺(tái)交互相關(guān)的工程包;對(duì)該工程包進(jìn)行編譯生成與web平臺(tái)交互相關(guān)的庫(kù)文件。
[0008]C、將與web平臺(tái)交互相關(guān)的庫(kù)文件鏈接到所述生成獨(dú)立APP的應(yīng)用工程;
d、在生成獨(dú)立APP的應(yīng)用工程的主程序中添加獨(dú)立APP啟動(dòng)初始化時(shí)查詢終端設(shè)備是否安裝共享APP的功能,同時(shí)將應(yīng)用工程配置文件中的應(yīng)用配置修改為可調(diào)用共享APP的配置文件;
e、對(duì)執(zhí)行完上述操作后的應(yīng)用工程進(jìn)行編譯、打包,生成web應(yīng)用的獨(dú)立APP。
[0009]具體的,獨(dú)立APP運(yùn)行時(shí)通過調(diào)用共享APP與其運(yùn)行平臺(tái)的核心庫(kù)文件進(jìn)行交互實(shí)現(xiàn)web應(yīng)用的功能通過以下方式實(shí)現(xiàn):
當(dāng)獨(dú)立APP運(yùn)行時(shí),首先通過內(nèi)置的查詢終端設(shè)備是否安裝共享APP的功能判斷終端設(shè)備上是否安裝共享APP,若是則通過接口調(diào)用共享APP中的核心庫(kù)文件實(shí)現(xiàn)web運(yùn)行平臺(tái)的訪問;若否則啟動(dòng)失敗,提示用戶進(jìn)行共享APP的安裝。
[0010]上述技術(shù)方案有如下技術(shù)效果:
通過將多個(gè)待打包web應(yīng)用中相同的web平臺(tái)核心庫(kù)文件單獨(dú)打包成一個(gè)共享APP,剩余的web應(yīng)用特有庫(kù)文件(包括web應(yīng)用庫(kù)文件以及與web平臺(tái)交互相關(guān)的庫(kù)文件)分別打包成各自的獨(dú)立APPJgK web應(yīng)用傳統(tǒng)的打包方式減小了占用的存儲(chǔ)空間,當(dāng)web應(yīng)用個(gè)數(shù)越多時(shí)該優(yōu)勢(shì)越明顯。采用該打包方式終端設(shè)備在使用時(shí)通過獨(dú)立APP調(diào)用共享APP的形式實(shí)現(xiàn)web應(yīng)用的功能,不影響web應(yīng)用的正常使用。
[0011]此外在不改變web應(yīng)用內(nèi)容的平臺(tái)升級(jí)以及跨平臺(tái)使用時(shí),可以只對(duì)共享APP重新進(jìn)行打包,延用web應(yīng)用的獨(dú)立APP,提高了 web應(yīng)用的可移植性。
【附圖說明】
[0012]圖1為一種跨平臺(tái)web應(yīng)用打包方法的流程圖圖2為實(shí)施例中三個(gè)待打包的web應(yīng)用;
圖3為實(shí)施例中三個(gè)待打包的web應(yīng)用的庫(kù)文件組成;
圖4為實(shí)施例中打包完的三個(gè)web應(yīng)用;
圖5為共享APP的生成示意圖;
圖6為獨(dú)立APP的生成示意圖;
圖7為打包后的APP使用示意圖。
【具體實(shí)施方式】
[0013]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例只是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域的技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下獲取的其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0014]如圖1所示,本發(fā)明實(shí)施例提供的一種跨平臺(tái)web應(yīng)用的打包方法,包括:
SlO:將web應(yīng)用公用的運(yùn)行平臺(tái)核心庫(kù)文件單獨(dú)打包成一個(gè)共享APP,并且將各web應(yīng)用的非公用部分分別打包成獨(dú)立APP ;
S20:獨(dú)立APP運(yùn)行時(shí)通過接口調(diào)用共享APP的核心庫(kù)文件,實(shí)現(xiàn)對(duì)運(yùn)行平臺(tái)的訪問。
[0015]下面結(jié)合圖2-圖4對(duì)本發(fā)明實(shí)施例中獨(dú)立APP和共享APP的打包做進(jìn)一步的解釋。假設(shè)待打包的web應(yīng)用包括a應(yīng)用、b應(yīng)用、c應(yīng)用三個(gè)不同的應(yīng)用,其中a應(yīng)用中的al、a2文件為a應(yīng)用特有的庫(kù)文件,b應(yīng)用中的bl、b2文件為b應(yīng)用特有的庫(kù)文件,c應(yīng)用中的Cl、c2文件為c應(yīng)用特有的庫(kù)文件,所述特有的庫(kù)文件包括web應(yīng)用本身庫(kù)文件以及與web平臺(tái)交互相關(guān)的庫(kù)文件;d、e、f文件為web平臺(tái)的核心庫(kù)文件。對(duì)所述三個(gè)web應(yīng)用進(jìn)行打包包括:
將a應(yīng)用的所有特有庫(kù)文件al和a2打包生成a的獨(dú)立APP,將b應(yīng)用的所有特有庫(kù)文件bl和b2打包生成b的獨(dú)立APP,將c應(yīng)用的所有特有庫(kù)文件Cl和c2打包生成c的獨(dú)立APP,將三者共有的d、e、f庫(kù)文件打包生成共享APP,標(biāo)記為應(yīng)用S。所述s優(yōu)先選擇以隱藏的形式安裝在終端設(shè)備中。
[0016]本發(fā)明實(shí)施例提供的一種跨平臺(tái)web應(yīng)用的打包方法,其中生成web應(yīng)用的一個(gè)共享APP的過程,如圖5所示,包括:
5100:在web應(yīng)用運(yùn)行平臺(tái)中創(chuàng)建一個(gè)空工程;
5101:從web平臺(tái)提供的庫(kù)文件工程包中獲取web平臺(tái)的核心庫(kù)文件,導(dǎo)入上述空工程;
S102:添加共享APP安裝信息功能;
5103:添加調(diào)用接口功能;
5104:對(duì)執(zhí)行完操作的庫(kù)文件進(jìn)行編譯、打包,生成共享APP。
[0017]在本實(shí)施例中,所述共享APP安裝信息功能用于在獨(dú)立APP安裝后提供共享APP已經(jīng)安裝的信息,供獨(dú)立APP啟動(dòng)時(shí)查詢,所述信息包括安裝的web平臺(tái)核心庫(kù)文件的版本、大小等。
[0018]在本實(shí)施例中,所述調(diào)用接口功能用于獨(dú)立APP調(diào)用共享APP中的核心庫(kù)文件,實(shí)現(xiàn)獨(dú)立APP在web平臺(tái)下的正常運(yùn)行。
[0019]本發(fā)明實(shí)施例提供的一種跨平臺(tái)web應(yīng)用的打包方法,其中生成每個(gè)web應(yīng)用的獨(dú)立APP的過程,如圖6所示,包括:
5110:創(chuàng)建生成獨(dú)立APP的應(yīng)用工程;
5111:生成與web平臺(tái)交互相關(guān)的庫(kù)文件,鏈接到上述應(yīng)用工程中;
5112:在上述應(yīng)用工程的主程序中添加獨(dú)立APP啟動(dòng)初始化時(shí)查詢終端設(shè)備是否安裝共享APP的功能;
5113:將上述應(yīng)用工程配置文件中的應(yīng)用配置修改為可調(diào)用共享APP的配置文件;
SI 14:對(duì)修改后的上述應(yīng)用工程進(jìn)行編譯,生成web應(yīng)用的獨(dú)立APP。
[0020]在本實(shí)施例中,所述創(chuàng)建生成獨(dú)立APP的應(yīng)用工程通過以下方式實(shí)現(xiàn):
在web應(yīng)用運(yùn)行平臺(tái)上建立一個(gè)空工程,將待打包的web應(yīng)用程序包導(dǎo)入所述空工程獲得生成獨(dú)立APP的應(yīng)用工程。
[0021]在本實(shí)施例中,所述生成與web平臺(tái)交互相關(guān)的庫(kù)文件可以通過以下方式獲得:從web平臺(tái)提供的庫(kù)文件工程