本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序中頁面內(nèi)容的顯示方法和裝置。
背景技術(shù):
用戶能夠在智能移動終端上安裝應(yīng)用程序(app)。app的頁面可以是由移動端的原生(native)語言編寫的native頁面,此時如果需要修改頁面內(nèi)容,需要用戶下載安裝新版本的app。為了避免下載安裝新版本的app引起的操作繁瑣等問題,可以對app中頁面內(nèi)容進(jìn)行動態(tài)更新。例如,頁面定制方通常需要在其定制的頁面上顯示個性化的內(nèi)容,該個性化的內(nèi)容就屬于動態(tài)更新的內(nèi)容。
相關(guān)技術(shù)中,為了實現(xiàn)app中頁面內(nèi)容的動態(tài)更新,通常采用網(wǎng)絡(luò)視圖(webview)方式。webview能加載顯示網(wǎng)頁,可以將其視為一個瀏覽器。由于webview與app中的native頁面的編寫語言不同,因此,無法實現(xiàn)移動端原生(native)頁面中無縫嵌入前述的動態(tài)更新內(nèi)容。
技術(shù)實現(xiàn)要素:
本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本申請的一個目的在于提出一種應(yīng)用程序中頁面內(nèi)容的顯示方法,該方法可以提升頁面內(nèi)容的展示效果。
本申請的另一個目的在于提出一種應(yīng)用程序中頁面內(nèi)容的顯示裝置。
為達(dá)到上述目的,本申請第一方面實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示方法,包括:獲取預(yù)先生成的頁面數(shù)據(jù),所述頁面數(shù)據(jù)用于描述應(yīng)用程序頁面中的動態(tài)內(nèi)容;根據(jù)所述頁面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息;根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面中顯示所述動態(tài)內(nèi)容。
本申請第一方面實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示方法,通過生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面上顯示動態(tài)內(nèi)容,由于生成的是原生組件,可以實現(xiàn)移動端native頁面中無縫嵌入動態(tài)內(nèi)容,提升應(yīng)用程序中頁面的顯示效果。
為達(dá)到上述目的,本申請第二方面實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示裝置,包括:獲取模塊,用于獲取預(yù)先生成的頁面數(shù)據(jù),所述頁面數(shù)據(jù)用于描述應(yīng)用程序頁面中的動態(tài)內(nèi)容;生成模塊,用于根據(jù)所述頁面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息;顯示模塊,用于根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面中顯示所述動態(tài)內(nèi)容。
本申請第二方面實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示裝置,通過生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面上顯示動態(tài)內(nèi)容,由于生成的是原生組件,可以實現(xiàn)移動端native頁面中無縫嵌入動態(tài)內(nèi)容,提升應(yīng)用程序中頁 面的顯示效果。
本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
附圖說明
本申請上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示方法的流程示意圖;
圖2是本申請實施例中一種應(yīng)用程序中頁面內(nèi)容的要實現(xiàn)的顯示效果示意圖;
圖3是本申請實施例中根據(jù)數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息的流程示意圖;
圖4是相關(guān)技術(shù)中采用webview方式與本申請實施例生成原生組件的方式的顯示效果對比示意圖;
圖5是本申請另一實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖;
圖6是本申請另一實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細(xì)描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的模塊或具有相同或類似功能的模 塊。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
圖1是本申請一實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示方法的流程示意圖。參見圖1,該方法包括:
s11:獲取預(yù)先生成的頁面數(shù)據(jù),所述頁面數(shù)據(jù)用于描述應(yīng)用程序頁面中的動態(tài)內(nèi)容。
其中,動態(tài)內(nèi)容包括頁面定制方在頁面服務(wù)器配置的頁面數(shù)據(jù)。本申請實施例在不重新安裝新版本的app的情況下,app內(nèi)也能夠顯示發(fā)生更新的內(nèi)容。
以某一購物app的店鋪首頁為例,參見圖2,店鋪首頁這一頁面在顯示時,通常會包括native部分和動態(tài)化部分,其中,native部分是該app內(nèi)的固定部分,對于不同的賣家,native部分相同。動態(tài)化部分是每個賣家能夠動態(tài)更新的內(nèi)容,每個賣家可以根據(jù)自身的需要進(jìn)行個性化定制,從而不同賣家可以定制不同的店鋪頁面。個性化定制的內(nèi)容存儲在頁面服務(wù)器,app在展示app內(nèi)的某個頁面時,動態(tài)化部分從頁面服務(wù)器獲取。
進(jìn)一步的,動態(tài)化部分可以僅包括動態(tài)內(nèi)容,或者,動態(tài)化部分可以包括動態(tài)內(nèi)容和native內(nèi)容,圖2中以動態(tài)化部分包括動態(tài)內(nèi)容和native內(nèi)容為例。不同的動態(tài)內(nèi)容或native內(nèi)容可以通過對相應(yīng)組件的渲染進(jìn)行顯示,如圖2所示,app的頁面可以包括兩個交替設(shè)置的native組件和動態(tài)化組件,以實現(xiàn)native內(nèi)容和動態(tài)化內(nèi)容交替出現(xiàn)在同一頁面中顯示的效果。
其中,該預(yù)先生成的頁面數(shù)據(jù)可以是由提供方根據(jù)預(yù)設(shè)規(guī)范生成的。提供方可以具體是獨立軟件開發(fā)商(independentsoftwarevendors,isv)。該預(yù)先生成的數(shù)據(jù)從頁面服務(wù)器中獲取。
以該頁面數(shù)據(jù)稱為動態(tài)模板為例,isv可以根據(jù)預(yù)設(shè)規(guī)范進(jìn)行代碼編寫以生成動態(tài)模板,之后,isv可以將動態(tài)模板出售給賣家,賣家可以上傳動態(tài)模板到頁面服務(wù)器,以定制到自己的店鋪首頁中,以在店鋪首頁中顯示動態(tài)內(nèi)容。
預(yù)設(shè)規(guī)范定義了一套標(biāo)準(zhǔn)的通用領(lǐng)域特定語言(domainspecificlanguage,dsl),該dsl用于描述上述的動態(tài)內(nèi)容。具體內(nèi)容可以根據(jù)實際需要定義,例如從通用的超文本標(biāo)記語言(hypertextmarkuplanguage,html)中選擇部分需要的內(nèi)容作為預(yù)設(shè)規(guī)范的dsl。
本實施例中,通過對預(yù)設(shè)規(guī)范的定義,能夠生成與如下三種原生組件分別對應(yīng)的動態(tài)模板:container、text、image。不同的原生組件可以由這三種原生組件中的一個或多個進(jìn)行組合生成。其中,通過上述的每種動態(tài)模板可以生成相應(yīng)的原生組件,該原生組件中可以顯示動態(tài)模板所描述的動態(tài)內(nèi)容,從而在不需要重新安裝新版本的應(yīng)用程序的情況下,通過改變動態(tài)內(nèi)容,就能夠在應(yīng)用程序內(nèi)顯示發(fā)生變化的內(nèi)容。
對應(yīng)每個組件的動態(tài)模板中可以包括如下數(shù)據(jù):組件內(nèi)容數(shù)據(jù)和與組件綁定的屬性信息。
進(jìn)一步的,屬性信息可以包括樣式(style)和腳本(script)。
以container對應(yīng)的動態(tài)模板為例,該動態(tài)模板可以包括:container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等;container的樣式(style),如位置、長寬尺寸等;container的腳本(script),定義了事件,如用戶產(chǎn)生點擊操作后顯示的頁面等。
s12:根據(jù)所述頁面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息。
例如,可以在app內(nèi)預(yù)設(shè)一段代碼,該代碼在獲取到上述的頁面數(shù)據(jù)后, 可以對上述的頁面數(shù)據(jù)進(jìn)行解析,以生成app的原生組件并獲取與原生組件綁定的屬性信息??梢岳斫獾氖?,上述的頁面數(shù)據(jù)以及原生組件的編寫語言都是確定的,通過兩種語言間的映射關(guān)系,可以由上述的數(shù)據(jù)生成原生組件。
參見圖3,根據(jù)所述頁面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與原生組件綁定的屬性信息的流程可以包括:
s31:根據(jù)所述頁面數(shù)據(jù)中包括的與原生組件對應(yīng)的組件內(nèi)容數(shù)據(jù),進(jìn)行組件映射生成原生組件。
例如,container對應(yīng)的動態(tài)模板中包括container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等,則可以根據(jù)組件內(nèi)容數(shù)據(jù)生成container組件、image組件和text組件。
s32:對所述頁面數(shù)據(jù)進(jìn)行解析,從所述頁面數(shù)據(jù)獲取所述頁面數(shù)據(jù)中包括的與原生組件綁定的屬性信息。
例如,如上所述,頁面數(shù)據(jù)中不僅包括上述的組件內(nèi)容數(shù)據(jù),還包括與原生組件綁定的屬性信息,因此,通過解析頁面數(shù)據(jù)可以從中獲取相應(yīng)的屬性信息。
進(jìn)一步的,對應(yīng)每個原生組件,獲取綁定的屬性信息后,可以建立原生組件與屬性信息之間的綁定關(guān)系,從而在后續(xù)流程中需要對多個原生組件進(jìn)行渲染時,可以對應(yīng)每個原生組件根據(jù)綁定關(guān)系獲取對應(yīng)的屬性信息。
s13:根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面中顯示所述動態(tài)內(nèi)容。
例如,app在生成原生組件和屬性信息后,可以調(diào)用移動端操作系統(tǒng)的渲染引擎,渲染引擎可以獲取原生組件的內(nèi)容,并根據(jù)綁定關(guān)系與原生組件綁定的樣式和腳本,并根據(jù)原生組件的內(nèi)容、樣式和腳本進(jìn)行渲染,從而可以在 app頁面中顯示出上述的動態(tài)內(nèi)容。
進(jìn)一步的,對應(yīng)應(yīng)用程序中的一個頁面,該頁面中可以包括單一部分的動態(tài)內(nèi)容,該單一部分的動態(tài)內(nèi)容可以對應(yīng)一個原生組件。或者,該頁面中還可以包括多個部分的動態(tài)內(nèi)容,每個部分的動態(tài)內(nèi)容對應(yīng)一個原生組件,不同部分的動態(tài)內(nèi)容可以由固定內(nèi)容分離。例如,如圖4所示,以包括兩部分的動態(tài)內(nèi)容為例,這兩部分的動態(tài)內(nèi)容可以分別對應(yīng)一個根據(jù)上述的數(shù)據(jù)生成的原生組件(如container),且這兩部分的動態(tài)內(nèi)容由固定內(nèi)容(app內(nèi)原本的native組件對應(yīng)的內(nèi)容)分離。
圖4是相關(guān)技術(shù)中采用webview方式與本實施例生成原生組件的方式的顯示效果對比示意圖。如圖4所示,相關(guān)技術(shù)中,動態(tài)內(nèi)容是由webview實現(xiàn)的,由于webview不是app的原生組件,那么與app的原生組件(native組件)間會存在銜接不連貫甚至不能銜接等問題,進(jìn)而影響app頁面的顯示效果。而本實施例中,動態(tài)內(nèi)容是通過先生成原生組件(container、image、text)再渲染的形式實現(xiàn),由于動態(tài)內(nèi)容也由原生組件實現(xiàn),那么與app原本的原生組件是一致的,不會存在相互間的銜接問題,因此,可以提高通暢性,提高app頁面的顯示效果。
具體的,相關(guān)技術(shù)中是每個webview具有一個上下文(context)并與app原本的原生組件的上下文不同,而本實施例中由于根據(jù)數(shù)據(jù)生成的組件也是原生組件,與頁面中原本的原生組件是一樣的,那么全局只有一個上下文,所以各組件的內(nèi)存空間是公用的,可以相互之間隨意交互。
由于根據(jù)上述的數(shù)據(jù)生成的也是原生組件,可以無縫嵌入到native頁面中,不存在相關(guān)技術(shù)中webview與外層native的事件沖突。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,不會像相關(guān)技術(shù)中采用webview時的 重復(fù)計算,滑動幀率大大提升。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,原生(native)組件本身通用的適配解決方案很好規(guī)避了webview的適配問題。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,很好支持了native能力。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,可以在移動端很好指出標(biāo)準(zhǔn)的腳本(js)語法,大大增強(qiáng)了移動端上的動態(tài)能力。
本實施例中,通過生成應(yīng)用程序內(nèi)的原生組件,并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面上顯示動態(tài)內(nèi)容,由于生成的是原生組件,可以實現(xiàn)移動端native頁面中無縫嵌入動態(tài)內(nèi)容,提升應(yīng)用程序中頁面的顯示效果。
圖5是本申請另一實施例提出的應(yīng)用程序中頁面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖。參見圖5,該裝置50包括:獲取模塊51、生成模塊52和顯示模塊53。
獲取模塊51用于獲取預(yù)先生成的頁面數(shù)據(jù),所述頁面數(shù)據(jù)用于描述應(yīng)用程序頁面中的動態(tài)內(nèi)容。
其中,動態(tài)內(nèi)容包括頁面定制方在頁面服務(wù)器配置的頁面數(shù)據(jù)。本申請實施例在不重新安裝新版本的app的情況下,app內(nèi)也能夠顯示發(fā)生更新的內(nèi)容。
以某一購物app的店鋪首頁為例,參見圖2,店鋪首頁這一頁面在顯示時,通常會包括native部分和動態(tài)化部分,其中,native部分是該app內(nèi)的固定部分,對于不同的賣家,native部分相同。動態(tài)化部分是每個賣家能夠動態(tài)更新的內(nèi)容,每個賣家可以根據(jù)自身的需要進(jìn)行個性化定制,從而不同賣家可以定制不同的店鋪頁面。個性化定制的內(nèi)容存儲在頁面服務(wù)器,app在展示app內(nèi)的某個頁面時,動態(tài)化部分從頁面服務(wù)器獲取。
進(jìn)一步的,動態(tài)化部分可以僅包括動態(tài)內(nèi)容,或者,動態(tài)化部分可以包括動態(tài)內(nèi)容和native內(nèi)容,圖2中以動態(tài)化部分包括動態(tài)內(nèi)容和native內(nèi)容為例。不同的動態(tài)內(nèi)容或native內(nèi)容可以通過對相應(yīng)組件的渲染進(jìn)行顯示,如圖2所示,app的頁面可以包括兩個交替設(shè)置的native組件和動態(tài)化組件,以實現(xiàn)native內(nèi)容和動態(tài)化內(nèi)容交替出現(xiàn)在同一頁面中顯示的效果。
其中,該預(yù)先生成的頁面數(shù)據(jù)可以是由提供方根據(jù)預(yù)設(shè)規(guī)范生成的。提供方可以具體是獨立軟件開發(fā)商(independentsoftwarevendors,isv)。該預(yù)先生成的數(shù)據(jù)從頁面服務(wù)器中獲取。
以該頁面數(shù)據(jù)稱為動態(tài)模板為例,isv可以根據(jù)預(yù)設(shè)規(guī)范進(jìn)行代碼編寫以生成動態(tài)模板,之后,isv可以將動態(tài)模板出售給賣家,賣家可以上傳動態(tài)模板到頁面服務(wù)器,以定制到自己的店鋪首頁中,以在店鋪首頁中顯示動態(tài)內(nèi)容。
預(yù)設(shè)規(guī)范定義了一套標(biāo)準(zhǔn)的通用領(lǐng)域特定語言(domainspecificlanguage,dsl),該dsl用于描述上述的動態(tài)內(nèi)容。具體內(nèi)容可以根據(jù)實際需要定義,例如從通用的超文本標(biāo)記語言(hypertextmarkuplanguage,html)中選擇部分需要的內(nèi)容作為預(yù)設(shè)規(guī)范的dsl。
本實施例中,通過對預(yù)設(shè)規(guī)范的定義,能夠生成與如下三種原生組件分別對應(yīng)的動態(tài)模板:container、text、image。不同的原生組件可以由這三種原生組件中的一個或多個進(jìn)行組合生成。其中,通過上述的每種動態(tài)模板可以生成相應(yīng)的原生組件,該原生組件中可以顯示動態(tài)模板所描述的動態(tài)內(nèi)容,從而在不需要重新安裝新版本的應(yīng)用程序的情況下,通過改變動態(tài)內(nèi)容,就能夠在應(yīng)用程序內(nèi)顯示發(fā)生變化的內(nèi)容。
對應(yīng)每個組件的動態(tài)模板中可以包括如下數(shù)據(jù):組件內(nèi)容數(shù)據(jù)和與組件綁定的屬性信息。
進(jìn)一步的,屬性信息可以包括樣式(style)和腳本(script)。
以container對應(yīng)的動態(tài)模板為例,該動態(tài)模板可以包括:container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等;container的樣式(style),如位置、長寬尺寸等;container的腳本(script),定義了事件,如用戶產(chǎn)生點擊操作后顯示的頁面等。
生成模塊52,用于根據(jù)所述頁面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息。
例如,可以在app內(nèi)預(yù)設(shè)一段代碼,該代碼在獲取到上述的頁面數(shù)據(jù)后,可以對上述的頁面數(shù)據(jù)進(jìn)行解析,以生成app的原生組件并獲取與原生組件綁定的屬性信息??梢岳斫獾氖?,上述的頁面數(shù)據(jù)以及原生組件的編寫語言都是確定的,通過兩種語言間的映射關(guān)系,可以由上述的數(shù)據(jù)生成原生組件。
一些實施例中,參見圖6,生成模塊52包括:組件映射單元521和綁定單元522。
組件映射單元521用于根據(jù)所述頁面數(shù)據(jù)中包括的與原生組件對應(yīng)的組件內(nèi)容數(shù)據(jù),進(jìn)行組件映射生成原生組件。
例如,container對應(yīng)的動態(tài)模板中包括container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等,則可以根據(jù)組件內(nèi)容數(shù)據(jù)生成container組件、image組件和text組件。
綁定單元522用于對所述頁面數(shù)據(jù)進(jìn)行解析,從所述頁面數(shù)據(jù)獲取所述頁面數(shù)據(jù)中包括的與原生組件綁定的屬性信息。
例如,如上所述,頁面數(shù)據(jù)中不僅包括上述的組件內(nèi)容數(shù)據(jù),還包括與原生組件綁定的屬性信息,因此,通過解析頁面數(shù)據(jù)可以從中獲取相應(yīng)的屬性信息。
進(jìn)一步的,對應(yīng)每個原生組件,獲取綁定的屬性信息后,可以建立原生組件與屬性信息之間的綁定關(guān)系,從而在后續(xù)流程中需要對多個原生組件進(jìn)行渲染時,可以對應(yīng)每個原生組件根據(jù)綁定關(guān)系獲取對應(yīng)的屬性信息。
顯示模塊53,用于根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面中顯示所述動態(tài)內(nèi)容。
例如,app在生成原生組件和屬性信息后,可以調(diào)用移動端操作系統(tǒng)的渲染引擎,渲染引擎可以獲取原生組件的內(nèi)容,并根據(jù)綁定關(guān)系獲取與原生組件綁定的樣式和腳本,并根據(jù)原生組件的內(nèi)容、樣式和腳本進(jìn)行渲染,從而可以在app頁面中顯示出上述的動態(tài)內(nèi)容。
進(jìn)一步的,對應(yīng)應(yīng)用程序中的一個頁面,該頁面中可以包括單一部分的動態(tài)內(nèi)容,該單一部分的動態(tài)內(nèi)容可以對應(yīng)一個原生組件?;蛘?,該頁面中還可以包括多個部分的動態(tài)內(nèi)容,每個部分的動態(tài)內(nèi)容對應(yīng)一個原生組件,不同部分的動態(tài)內(nèi)容可以由固定內(nèi)容分離。例如,如圖4所示,以包括兩部分的動態(tài)內(nèi)容為例,這兩部分的動態(tài)內(nèi)容可以分別對應(yīng)一個根據(jù)上述的數(shù)據(jù)生成的原生組件(如container),且這兩部分的動態(tài)內(nèi)容由固定內(nèi)容(app內(nèi)原本的native組件對應(yīng)的內(nèi)容)分離。
圖4是相關(guān)技術(shù)中采用webview方式與本實施例生成原生組件的方式的顯示效果對比示意圖。如圖4所示,相關(guān)技術(shù)中,動態(tài)內(nèi)容是由webview實現(xiàn)的,由于webview不是app的原生組件,那么與app的原生組件(native組件)間會存在銜接不連貫甚至不能銜接等問題,進(jìn)而影響app頁面的顯示效果。而本實施例中,動態(tài)內(nèi)容是通過先生成原生組件(container、image、text)再渲染的形式實現(xiàn),由于動態(tài)內(nèi)容也由原生組件實現(xiàn),那么與app原本的原生組件是一致的,不會存在相互間的銜接問題,因此,可以提高通暢性,提高app 頁面的顯示效果。
具體的,相關(guān)技術(shù)中是每個webview具有一個上下文(context)并與app原本的原生組件的上下文不同,而本實施例中由于根據(jù)數(shù)據(jù)生成的組件也是原生組件,與頁面中原本的原生組件是一樣的,那么全局只有一個上下文,所以各組件的內(nèi)存空間是公用的,可以相互之間隨意交互。
由于根據(jù)上述的數(shù)據(jù)生成的也是原生組件,可以無縫嵌入到native頁面中,不存在相關(guān)技術(shù)中webview與外層native的事件沖突。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,不會像相關(guān)技術(shù)中采用webview時的重復(fù)計算,滑動幀率大大提升。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,原生(native)組件本身通用的適配解決方案很好規(guī)避了webview的適配問題。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,很好支持了native能力。
由于根據(jù)上述的數(shù)據(jù)生成原生組件,可以在移動端很好指出標(biāo)準(zhǔn)的腳本(js)語法,大大增強(qiáng)了移動端上的動態(tài)能力。
本實施例中,通過生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁面上顯示動態(tài)內(nèi)容,由于生成的是原生組件,可以實現(xiàn)移動端native頁面中無縫嵌入動態(tài)內(nèi)容,提升應(yīng)用程序中頁面的顯示效果。
需要說明的是,在本申請的描述中,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本申請的描述中,除非另有說明,“多個”的含義是指至少兩個。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代 碼的模塊、片段或部分,并且本申請的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本申請各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體 特征、結(jié)構(gòu)、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實施例進(jìn)行變化、修改、替換和變型。