本發(fā)明涉及應用程序開發(fā),尤其涉及一種移動應用程序更新方法、移動終端及更新系統(tǒng),屬于移動互聯(lián)網(wǎng)技術(shù)領(lǐng)域。
背景技術(shù):
隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,移動終端上可以安裝各類應用程序(Application,簡稱APP)。移動終端的APP在發(fā)布之后,如果需要改動終端上APP的界面和交互邏輯,需要重新編寫APP新版本安裝包,再次發(fā)布在相關(guān)APP商店,當用戶重新下載安裝之后,才會顯示修改之后的APP界面和交互邏輯。
現(xiàn)有技術(shù)中,用戶需要重新下載并安裝更大體積的安裝包,導致流量和時間的浪費,用戶體驗較差。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種移動應用程序更新方法、移動終端及更新系統(tǒng),可以實現(xiàn)在不更新APP版本的前提下,修改APP的界面和交互邏輯。
本發(fā)明實施例第一方面提供一種移動應用程序更新方法,包括:
獲取服務器端的邏輯文件和模板文件,所述邏輯文件用于更新應用程序的交互邏輯,所述模版文件用于更新所述應用程序的界面;
根據(jù)所述邏輯文件和所述模板文件更新所述應用程序。
本發(fā)明實施例第二方面提供一種移動終端,該移動終端上安裝有待更新的應用程序,該移動終端包括:
通信模塊,用于獲取服務器端的邏輯文件和模板文件,所述邏輯文件用于更新應用程序的交互邏輯,所述模版文件用于更新所述應用程序的界面;
更新模塊,用于根據(jù)所述邏輯文件和所述模板文件更新所述應用程序。
本發(fā)明實施例第三方面提供一種移動應用程序更新系統(tǒng),包括:服務器 和上述第二方面提供的移動終端,所述服務器中部署有邏輯文件和模板文件,所述邏輯文件用于更新應用程序的交互邏輯,所述模版文件用于更新所述應用程序的界面。
基于上述,本發(fā)明實施例提供的移動應用程序更新方法、移動終端及更新系統(tǒng),通過移動終端獲取APP開發(fā)人員部署在服務器端的邏輯文件和模板文件,對邏輯文件和模板文件進行解析執(zhí)行,得到更新后的APP顯示界面和邏輯。本發(fā)明提供的APP更新方案,通過服務器遠程控制移動終端上APP的界面和交互邏輯的更新,可以實現(xiàn)在不更新APP版本的前提下,修改APP的界面和交互邏輯,用戶無需重新下載并安裝更大體積的安裝包,節(jié)省了用戶的流量和時間,提高了用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種移動應用程序更新方法流程圖;
圖2為本發(fā)明實施例提供的另一種移動應用程序更新方法流程圖;
圖3為本發(fā)明實施例提供的一種移動終端的示意圖;
圖4為本發(fā)明實施例提供的另一種移動終端的示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的下述實施例中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的 內(nèi)容以外的順序?qū)嵤?/p>
本發(fā)明實施例提供的移動應用程序更新方法具體可以應用于移動終端進行APP更新的過程,可以通過安裝有相應的APP的移動終端來實現(xiàn),移動終終端具體可以是智能手機、平板電腦、掌上電腦、智能電視及車載終端等設(shè)備。
圖1為本發(fā)明實施例提供的一種移動應用程序更新方法流程圖,如圖1所示,本實施例提供的移動應用程序更新方法包括如下步驟:
S11,獲取服務器端的邏輯文件和模板文件;
S22,根據(jù)邏輯文件和模板文件更新APP。
其中,上述邏輯文件用于更新APP的交互邏輯,上述模版文件用于更新APP的界面。
在本實施例中,安裝在移動終端上的APP的更新可以是由服務器發(fā)起,也可以由移動終端發(fā)起。
示例性的,作為一種可能的實現(xiàn)方式,當APP開發(fā)人員將用于更新APP的邏輯文件和模板文件部署到服務器上之后,服務器就會向移動終端下發(fā)更新信息。一方面,服務器可以直接向移動終端發(fā)送攜帶有用于更新APP的邏輯文件和模板文件的更新信息。另一方面,服務器還可以先向移動終端發(fā)送僅用于提示APP需要更新的更新信息,移動終端接收到服務器發(fā)送的更新信息后,再根據(jù)更新信息向服務器發(fā)送請求消息,請求服務器將用于更新APP的邏輯文件和模板文件發(fā)送到移動終端。
作為另一種可能的實現(xiàn)方式,移動終端在開機或啟用APP時,在完成APP的初始化之后,就向服務器發(fā)送一個查詢請求消息,服務器在接收到移動終端發(fā)送的查詢請求消息后,查詢服務器上是否有APP開發(fā)人員新部署的用于更新APP的邏輯文件和模板文件,若有,就向移動終端返回與查詢請求消息相對應的響應消息??梢岳斫獾?,這里的響應消息例如是上述的攜帶有用于更新APP的邏輯文件和模板文件的更新信息,或者是上述的僅用于提示APP需要更新的更新信息。還可以理解的是,這里的查詢請求消息,例如可以攜帶在用戶登錄驗證信息中,以便服務器可以根據(jù)相應的登錄驗證信息確定該移動終端是否具有從服務器獲取更新信息的權(quán)限,即通過域限制來禁止萬能反射以及沙盒現(xiàn)象。
進一步的,服務器再向移動終端發(fā)送攜帶有用于更新APP的邏輯文件和模板文件的更新信息,還可以對邏輯文件和模板文件進行加密,這也可以有效禁止萬能反射以及沙盒現(xiàn)象。
另外,在本實施例中,APP開發(fā)人員具體可以通過集成開發(fā)環(huán)境(Integrated Development Environment,簡稱IDE)一鍵打包功能,將邏輯文件和模板文件一鍵部署到線上,提高在服務器端更新部署的邏輯文件和模板文件的效率,從而有效解決應用程序開發(fā)效率問題。
本實施例提供的移動應用程序更新方法,通過移動終端獲取APP開發(fā)人員部署在服務器端的邏輯文件和模板文件,對邏輯文件和模板文件進行解析執(zhí)行,得到更新后的APP顯示界面和邏輯。本發(fā)明提供的APP更新方案,通過服務器遠程控制移動終端上APP的界面和交互邏輯的更新,可以實現(xiàn)在不更新APP版本的前提下,修改APP的界面和交互邏輯,用戶無需重新下載并安裝更大體積的安裝包,節(jié)省了用戶的流量和時間,提高了用戶體驗。
值得一提的是,根據(jù)相關(guān)技術(shù),通過內(nèi)置網(wǎng)頁的方式也可以在不需要發(fā)布新版本的情況下實現(xiàn)修改界面和交互邏輯,但由于加載速度受限制,修改后的界面和交互邏輯并不能使用APP的原生控件顯示,而只能通過網(wǎng)頁呈現(xiàn),導致用戶界面(User Interface,簡稱UI)體驗不如原生控件。而本發(fā)明的技術(shù)方案不僅可以實現(xiàn)在不更新APP版本的前提下,修改APP的界面和交互邏輯,同時還可以通過APP的原生控件顯示修改后的界面和交互邏輯,下面將通過圖2進行進一步詳細說明。
圖2為本發(fā)明實施例提供的另一種移動應用程序更新方法流程圖,本實施例在圖1所示實施例的基礎(chǔ)上,具體的,安裝在移動終端的APP具有內(nèi)置瀏覽器控件和原生控件,那么圖1所示實施例中的S12具體可以包括如下步驟:
S121,指示瀏覽器控件解析邏輯文件,獲取交互邏輯更新信息;
S122,根據(jù)交互邏輯更新信息確定新的交互邏輯;
S123,指示瀏覽器控件將新的交互邏輯通過網(wǎng)頁視圖映射到APP的原生控件上,進行APP的交互邏輯更新;
S124,根據(jù)模板文件控制APP的原生控件進行APP的界面更新。
作為本實施例一種優(yōu)選的實施方式,上述的邏輯文件例如可以是 JavaScript程序代碼,JavaScript是一種腳本語言,其源代碼在發(fā)往移動終端運行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解析運行。上述的模板文件例如可以是可擴展標記語言(Extensible Markup Language,簡稱XML)文件,XML是一種元標記語言,即定義了用于定義其他特定領(lǐng)域有關(guān)語義的、結(jié)構(gòu)化的標記語言,這些標記語言將文檔分成許多部件并對這些部件加以標識。XML可以提供一種描述結(jié)構(gòu)數(shù)據(jù)的格式,簡化了網(wǎng)絡(luò)中數(shù)據(jù)交換和表示,使得代碼、數(shù)據(jù)和表示分離,并作為數(shù)據(jù)交換的標準格式,因此它常被稱為智能數(shù)據(jù)文檔。
進一步的,安裝在移動終端的APP還具有內(nèi)置的邏輯解析控件和模版解析控件。
一方面,具體在進行APP的交互邏輯更新時,移動終端可以指示邏輯解析控件將映射到APP的原生控件上的新的交互邏輯還原為原生交互邏輯,以便通過原生控件顯示APP的更新的交互邏輯。
另一方面,在進行APP的界面更新時,移動終端可以指示模版解析控件解析XML文件,獲取新的界面描述信息,根據(jù)新的界面描述信息調(diào)整APP的原生控件的布局和組件創(chuàng)建,以便通過APP的原生控件顯示APP的更新的界面。
值得一提的是,在本實施例中,對邏輯文件和模板文件的解析和執(zhí)行是通過三層獨立的結(jié)構(gòu)來完成的。即通過瀏覽器控件完成邏輯文件解析并將新的交互邏輯通過網(wǎng)頁視圖(WebView)映射到APP的原生控件上;通過邏輯解析控件完成邏輯執(zhí)行,也就是通過邏輯解析控件將新的交互邏輯還原為原生交互邏輯,以便通過所述原生控件顯示更新的交互邏輯邏輯;通過模板解析控件完成模板文件的解析。
可以理解的是,如果安裝有APP的移動終端的系統(tǒng)平臺為安卓(Android)系統(tǒng),為了保證成功將新的交互邏輯通過WebView映射到APP的原生控件上,還應該確保邏輯文件的應用程序編程接口(Application Programming Interface,簡稱API)與Android的原生API一致。
本實施例提供的移動應用程序更新方法,移動終端通過瀏覽器控件完成邏輯文件解析并將新的交互邏輯通過網(wǎng)頁視圖(WebView)映射到APP的原生控件上,通過邏輯解析控件將新的交互邏輯還原為原生交互邏輯,以便通過 所述原生控件顯示更新的交互邏輯邏輯,通過模板解析控件完成模板文件的解析獲取界面更新信息,再根據(jù)所述界面更新信息調(diào)整所述原生控件的布局并創(chuàng)建組件,以便通過所述原生控件顯示更新的所述應用程序的界面。本實施例的技術(shù)方案不僅可以實現(xiàn)在不更新APP版本的前提下,修改APP的界面和交互邏輯,同時還可以通過APP的原生控件顯示修改后的界面和交互邏輯,進一步提升了用戶體驗。
圖3為本發(fā)明實施例提供的一種移動終端的示意圖,本實施例提供的移動終端上安裝有待更新的APP,可以用來實現(xiàn)本發(fā)明圖1所示實施例提供的移動應用程序更新方法,此處不再贅述。如圖3所示,該移動終端包括:通信模塊31和更新模塊32。
其中,通信模塊31可以用于獲取服務器端的邏輯文件和模板文件,所述邏輯文件用于更新應用程序的交互邏輯,所述模版文件用于更新所述應用程序的界面。更新模塊32可以用于根據(jù)邏輯文件和模板文件更新所述APP。
作為本實施一種可能的實現(xiàn)方式,通信模塊31具體可以用于接收服務器發(fā)送的攜帶有所述邏輯文件和所述模板文件的更新信息。
作為本實施另一種可能的實現(xiàn)方式,通信模塊31具體可以用于:接收服務器發(fā)送的僅用于提示APP需要更新的更新信息,根據(jù)該更新信息向服務器發(fā)送第一請求消息,請求服務器根據(jù)第一請求消息向移動終端發(fā)送邏輯文件和模板文件,并接收服務器發(fā)送的邏輯文件和模板文件。
進一步的,通信模塊31具體還可以用于:在接收服務器發(fā)送的攜帶有邏輯文件和模板文件的更新信息或者僅用于提示APP需要更新的更新信息之前,初始化所述應用程序,并向所述服務器發(fā)送第二請求消息,請求服務器根據(jù)第二請求消息向移動終端發(fā)送上述兩種更新信息中的任意一種。
本實施例提供的移動終端可以用來實現(xiàn)本發(fā)明圖1所示實施例提供的移動應用程序更新方法,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖4為本發(fā)明實施例提供的另一種移動終端的示意圖,可以用來實現(xiàn)本發(fā)明圖1或圖2所示實施例提供的移動應用程序更新方法,此處不再贅述。如圖4所示,本實施例提供的移動終端在圖3所示實施例的基礎(chǔ)上,待更新的APP具有內(nèi)置瀏覽器控件33、原生控件34、邏輯解析控件35和模版解析控件36。
在本實施例中,更新模塊32具體可以用于:指示瀏覽器控件33解析邏輯文件,獲取交互邏輯更新信息;根據(jù)交互邏輯更新信息確定新的交互邏輯;指示瀏覽器控件33將新的交互邏輯通過網(wǎng)絡(luò)視圖(WebView)映射到APP的原生控件34上,進行APP的交互邏輯更新;根據(jù)模板文件控制APP的原生控件34進行APP的界面更新。
進一步的,一方面,更新模塊32具體可以用于:指示邏輯解析控件35將映射到APP的原生控件34上的新的交互邏輯還原為原生交互邏輯,以便通過原生控件34顯示APP的更新的交互邏輯。
另一方面,更新模塊32具體還可以用于:指示模版解析控件36解析模板文件,獲取界面更新信息;根據(jù)界面更新信息調(diào)整原生控件34的布局和組件創(chuàng)建,以便通過原生控件34顯示所述應用程序的更新的界面。
本實施例提供的移動終端可以用來實現(xiàn)本發(fā)明圖1或圖2所示實施例提供的移動應用程序更新方法,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明實施例還提供了一種移動應用程序更新系統(tǒng),包括服務器和圖3或圖4所示實施例提供的移動終端。其中,服務器中部署有邏輯文件和模板文件,所述邏輯文件用于更新應用程序的交互邏輯,所述模版文件用于更新所述應用程序的界面。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。