本發(fā)明涉及一種移動(dòng)終端APP的基本框架,更具體地說,涉及一種支持原生(Native)和H5混合開發(fā)的APP基本框架及其搭建方法。
背景技術(shù):
超文本標(biāo)記語言的第五修訂版(被稱作“HTML5”,簡稱“H5”)由稱為萬維網(wǎng)協(xié)會(huì)(“W3C”)的國際標(biāo)準(zhǔn)組織正式地定義。HTML5包括涉及下一代Web技術(shù)的多于100個(gè)規(guī)范。HTML5描述了被配置成使得設(shè)計(jì)者和開發(fā)者能夠構(gòu)建下一代web站點(diǎn)和應(yīng)用(“app”)的一組HTML、CSS(級(jí)聯(lián)樣式表)以及JavaScript規(guī)范。
當(dāng)前智能手機(jī)已全面普及,智能手機(jī)使用得最多的有四大系統(tǒng),即ian、WP7、IOS和Android系統(tǒng),不同系統(tǒng)的應(yīng)用軟件互不兼容。所以,不同系統(tǒng)的手機(jī)需要開發(fā)不同的手機(jī)客戶端,這就造成的重復(fù)開發(fā);同時(shí)每次發(fā)布新的APP都需要用戶重新下載客戶端,這不僅拖慢整個(gè)開發(fā)進(jìn)度,同時(shí)也會(huì)給用戶帶來不良的體驗(yàn)。
為了解決上述問題,如圖1所示,專利申請?zhí)枮?01511005002.0公開了一種手機(jī)客戶端應(yīng)用程序的開發(fā)方法,包括以下步驟:101、使用HTML5做出網(wǎng)頁框架;102、使用CSS3修飾網(wǎng)頁頁面;103、使用JQuery或者Javascript框架,使網(wǎng)頁靜態(tài)界面具有動(dòng)態(tài)功能,能夠與用戶進(jìn)行交互;104、將步驟103制作的網(wǎng)頁嵌入到手機(jī)APP的框架中,進(jìn)行調(diào)試,使不同手機(jī)系統(tǒng)的APP都能夠嵌入網(wǎng)頁并正常顯示。該技術(shù)方案無須用戶多次下載更新客戶端?;贖TML5應(yīng)用,加載的內(nèi)容是HTML5開發(fā)的網(wǎng)頁,存儲(chǔ)在服務(wù)器中,每次加載都是從服務(wù)器獲取最新的版本,所以無須用戶多次下載更新客戶端。而傳統(tǒng)的APP應(yīng)用,文件內(nèi)容都存儲(chǔ)在本地,如果需要升級(jí)版本,需要重新下載整個(gè)客戶端,會(huì)造成用戶體驗(yàn)不好。而且,使用HTML5無須考慮到頁面的兼容性?,F(xiàn)在的智能手機(jī)系統(tǒng)的瀏覽器均支持超文本標(biāo)記語言HTML5,前端工程師無須像開發(fā)PC端網(wǎng)頁一樣兼容多個(gè)標(biāo)準(zhǔn)的瀏覽器,省去了調(diào)試兼容性的煩惱,大大提高了開發(fā)效率。
然而,本發(fā)明人發(fā)現(xiàn),大多數(shù)的APP都涉及到原生(Native)和H5混合開發(fā),所以APP基本框架不但需要支持本地H5(整個(gè)包或某些頁面)的更新、還需要支持Native頁面和對應(yīng)H5頁面的隨時(shí)切換。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種支持本地H5的更新、Native頁面和對應(yīng)H5頁面的隨時(shí)切換的的方法和框架。
本發(fā)明的技術(shù)方案為,一種用于更新應(yīng)用(app)內(nèi)置H5的方法,包括APP管理平臺(tái)、APP和APP路由層;所述方法包括以下步驟:第一步,通過所述APP管理平臺(tái)上傳最新的需要APP更新的H5,修改所述APP路由設(shè)置;第二步,所述APP通過相應(yīng)的api接口獲取最新的H5下載地址進(jìn)行下載,同時(shí)獲取最新的路由配置信息并保存到本地;第三步,通過所述APP路由層控制每一個(gè)頁面的跳轉(zhuǎn)。
進(jìn)一步地,所述第三步包括如下步驟,點(diǎn)擊A頁面上的按鈕,將相應(yīng)的路由Key值傳遞到所述APP路由層,然后由所述APP路由層在路由表中尋找對應(yīng)的Key,找到所述Key后,解析頁面跳轉(zhuǎn)類型,所述A頁面跳轉(zhuǎn)到B頁面。(type:0跳原生、1跳本地H5、2跳線上H5)
進(jìn)一步地,在所述第一步之前,包括如下步驟,每次啟動(dòng)APP時(shí),獲取是否有最新的H5,如果有,則進(jìn)入第一步。
進(jìn)一步地,在所述第一步之前,包括如下步驟,當(dāng)需要App更新H5和路由配置信息時(shí),所述APP管理平臺(tái)推送消息給APP,告知需要更新。
一種用于更新應(yīng)用(app)內(nèi)置H5的應(yīng)用框架,包括視圖層(view layer)、H5容器層(H 5 Container)和OS層;其中,所述視圖層包括H5頁面模塊、H5框架模塊、JSBridge模塊和Native Activites模塊;所述H5容器層(H 5 Container)包括本地URL路由(local Url Router);所述OS層包括Android和Ios模塊。
本發(fā)明的有益效果在于,提供了一種功能強(qiáng)大、反應(yīng)迅速的用于更新應(yīng)用(app)內(nèi)置H5的應(yīng)用框架和方法,當(dāng)線上APP在某個(gè)頁面出現(xiàn)問題時(shí),就可以通過本發(fā)明快速修復(fù)此頁面,讓其跳轉(zhuǎn)到對應(yīng)的原生、或本地H5、或線上H5頁面,不用重新發(fā)布APP版本。
附圖說明
圖1為本發(fā)明的背景技術(shù)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明的流程示意圖;
圖3為本發(fā)明的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例的流程示意圖;
圖5為本發(fā)明另一實(shí)施例的流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例進(jìn)一步說明本發(fā)明,如圖2所示,一種用于更新應(yīng)用(app)內(nèi)置H5的方法,包括APP管理平臺(tái)、APP和APP路由層;所述方法包括以下步驟:第一步,通過所述APP管理平臺(tái)上傳最新的需要APP更新的H5,修改所述APP路由設(shè)置;第二步,所述安裝于android平臺(tái)或Ios平臺(tái)上的APP通過相應(yīng)的api接口獲取最新的H5下載地址進(jìn)行下載,同時(shí)獲取最新的路由配置信息并保存到本地;第三步,通過所述APP路由層控制每一個(gè)頁面的跳轉(zhuǎn)。
如圖4所示,進(jìn)一步地,所述第三步包括如下步驟,點(diǎn)擊A頁面上的按鈕,將相應(yīng)的路由Key值傳遞到所述APP路由層,然后由所述APP路由層在路由表中尋找對應(yīng)的Key,找到所述Key后,解析頁面跳轉(zhuǎn)類型,所述A頁面跳轉(zhuǎn)到B頁面。(type:0跳原生、1跳本地H5、2跳線上H5)。
進(jìn)一步地,在所述第一步之前,包括如下步驟,每次啟動(dòng)APP時(shí),獲取是否有最新的H5,如果有,則進(jìn)入第一步。
如圖5所示,進(jìn)一步地,在所述第一步之前,包括如下步驟,當(dāng)需要App更新H5和路由配置信息時(shí),所述APP管理平臺(tái)推送消息給APP,告知需要更新,進(jìn)入第一步。
如圖3所示,一種用于更新應(yīng)用(app)內(nèi)置H5的應(yīng)用框架,包括視圖層(view layer)、H5容器層(H 5Container)和OS層;其中,所述視圖層包括H5頁面模塊、H5框架模塊、JSBridge模塊和Native Activites模塊;所述H5容器層(H 5Container)包括本地URL路由(local Url Router);所述OS層包括Android和Ios模塊。
以上的描述僅僅涉及本發(fā)明的一些具體實(shí)施方式,任何本領(lǐng)域的技術(shù)人員基于本發(fā)明的精神所做的替換或改進(jìn)均應(yīng)為本發(fā)明的保護(hù)范圍所涵蓋,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書為準(zhǔn)。