两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法和裝置與流程

文檔序號(hào):12034371閱讀:248來(lái)源:國(guó)知局
應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法和裝置與流程

本申請(qǐng)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法和裝置。



背景技術(shù):

用戶能夠在智能移動(dòng)終端上安裝應(yīng)用程序(app)。app的頁(yè)面可以是由移動(dòng)端的原生(native)語(yǔ)言編寫(xiě)的native頁(yè)面,此時(shí)如果需要修改頁(yè)面內(nèi)容,需要用戶下載安裝新版本的app。為了避免下載安裝新版本的app引起的操作繁瑣等問(wèn)題,可以對(duì)app中頁(yè)面內(nèi)容進(jìn)行動(dòng)態(tài)更新。例如,頁(yè)面定制方通常需要在其定制的頁(yè)面上顯示個(gè)性化的內(nèi)容,該個(gè)性化的內(nèi)容就屬于動(dòng)態(tài)更新的內(nèi)容。

相關(guān)技術(shù)中,為了實(shí)現(xiàn)app中頁(yè)面內(nèi)容的動(dòng)態(tài)更新,通常采用網(wǎng)絡(luò)視圖(webview)方式。webview能加載顯示網(wǎng)頁(yè),可以將其視為一個(gè)瀏覽器。由于webview與app中的native頁(yè)面的編寫(xiě)語(yǔ)言不同,因此,無(wú)法實(shí)現(xiàn)移動(dòng)端原生(native)頁(yè)面中無(wú)縫嵌入前述的動(dòng)態(tài)更新內(nèi)容。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。

為此,本申請(qǐng)的一個(gè)目的在于提出一種應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法,該方法可以提升頁(yè)面內(nèi)容的展示效果。

本申請(qǐng)的另一個(gè)目的在于提出一種應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置。

為達(dá)到上述目的,本申請(qǐng)第一方面實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法,包括:獲取預(yù)先生成的頁(yè)面數(shù)據(jù),所述頁(yè)面數(shù)據(jù)用于描述應(yīng)用程序頁(yè)面中的動(dòng)態(tài)內(nèi)容;根據(jù)所述頁(yè)面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息;根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面中顯示所述動(dòng)態(tài)內(nèi)容。

本申請(qǐng)第一方面實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法,通過(guò)生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面上顯示動(dòng)態(tài)內(nèi)容,由于生成的是原生組件,可以實(shí)現(xiàn)移動(dòng)端native頁(yè)面中無(wú)縫嵌入動(dòng)態(tài)內(nèi)容,提升應(yīng)用程序中頁(yè)面的顯示效果。

為達(dá)到上述目的,本申請(qǐng)第二方面實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置,包括:獲取模塊,用于獲取預(yù)先生成的頁(yè)面數(shù)據(jù),所述頁(yè)面數(shù)據(jù)用于描述應(yīng)用程序頁(yè)面中的動(dòng)態(tài)內(nèi)容;生成模塊,用于根據(jù)所述頁(yè)面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息;顯示模塊,用于根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面中顯示所述動(dòng)態(tài)內(nèi)容。

本申請(qǐng)第二方面實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置,通過(guò)生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面上顯示動(dòng)態(tài)內(nèi)容,由于生成的是原生組件,可以實(shí)現(xiàn)移動(dòng)端native頁(yè)面中無(wú)縫嵌入動(dòng)態(tài)內(nèi)容,提升應(yīng)用程序中頁(yè) 面的顯示效果。

本申請(qǐng)附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本申請(qǐng)的實(shí)踐了解到。

附圖說(shuō)明

本申請(qǐng)上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1是本申請(qǐng)一實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法的流程示意圖;

圖2是本申請(qǐng)實(shí)施例中一種應(yīng)用程序中頁(yè)面內(nèi)容的要實(shí)現(xiàn)的顯示效果示意圖;

圖3是本申請(qǐng)實(shí)施例中根據(jù)數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息的流程示意圖;

圖4是相關(guān)技術(shù)中采用webview方式與本申請(qǐng)實(shí)施例生成原生組件的方式的顯示效果對(duì)比示意圖;

圖5是本申請(qǐng)另一實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖;

圖6是本申請(qǐng)另一實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面詳細(xì)描述本申請(qǐng)的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的模塊或具有相同或類似功能的模 塊。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請(qǐng),而不能理解為對(duì)本申請(qǐng)的限制。相反,本申請(qǐng)的實(shí)施例包括落入所附加權(quán)利要求書(shū)的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。

圖1是本申請(qǐng)一實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示方法的流程示意圖。參見(jiàn)圖1,該方法包括:

s11:獲取預(yù)先生成的頁(yè)面數(shù)據(jù),所述頁(yè)面數(shù)據(jù)用于描述應(yīng)用程序頁(yè)面中的動(dòng)態(tài)內(nèi)容。

其中,動(dòng)態(tài)內(nèi)容包括頁(yè)面定制方在頁(yè)面服務(wù)器配置的頁(yè)面數(shù)據(jù)。本申請(qǐng)實(shí)施例在不重新安裝新版本的app的情況下,app內(nèi)也能夠顯示發(fā)生更新的內(nèi)容。

以某一購(gòu)物app的店鋪首頁(yè)為例,參見(jiàn)圖2,店鋪首頁(yè)這一頁(yè)面在顯示時(shí),通常會(huì)包括native部分和動(dòng)態(tài)化部分,其中,native部分是該app內(nèi)的固定部分,對(duì)于不同的賣家,native部分相同。動(dòng)態(tài)化部分是每個(gè)賣家能夠動(dòng)態(tài)更新的內(nèi)容,每個(gè)賣家可以根據(jù)自身的需要進(jìn)行個(gè)性化定制,從而不同賣家可以定制不同的店鋪?lái)?yè)面。個(gè)性化定制的內(nèi)容存儲(chǔ)在頁(yè)面服務(wù)器,app在展示app內(nèi)的某個(gè)頁(yè)面時(shí),動(dòng)態(tài)化部分從頁(yè)面服務(wù)器獲取。

進(jìn)一步的,動(dòng)態(tài)化部分可以僅包括動(dòng)態(tài)內(nèi)容,或者,動(dòng)態(tài)化部分可以包括動(dòng)態(tài)內(nèi)容和native內(nèi)容,圖2中以動(dòng)態(tài)化部分包括動(dòng)態(tài)內(nèi)容和native內(nèi)容為例。不同的動(dòng)態(tài)內(nèi)容或native內(nèi)容可以通過(guò)對(duì)相應(yīng)組件的渲染進(jìn)行顯示,如圖2所示,app的頁(yè)面可以包括兩個(gè)交替設(shè)置的native組件和動(dòng)態(tài)化組件,以實(shí)現(xiàn)native內(nèi)容和動(dòng)態(tài)化內(nèi)容交替出現(xiàn)在同一頁(yè)面中顯示的效果。

其中,該預(yù)先生成的頁(yè)面數(shù)據(jù)可以是由提供方根據(jù)預(yù)設(shè)規(guī)范生成的。提供方可以具體是獨(dú)立軟件開(kāi)發(fā)商(independentsoftwarevendors,isv)。該預(yù)先生成的數(shù)據(jù)從頁(yè)面服務(wù)器中獲取。

以該頁(yè)面數(shù)據(jù)稱為動(dòng)態(tài)模板為例,isv可以根據(jù)預(yù)設(shè)規(guī)范進(jìn)行代碼編寫(xiě)以生成動(dòng)態(tài)模板,之后,isv可以將動(dòng)態(tài)模板出售給賣家,賣家可以上傳動(dòng)態(tài)模板到頁(yè)面服務(wù)器,以定制到自己的店鋪首頁(yè)中,以在店鋪首頁(yè)中顯示動(dòng)態(tài)內(nèi)容。

預(yù)設(shè)規(guī)范定義了一套標(biāo)準(zhǔn)的通用領(lǐng)域特定語(yǔ)言(domainspecificlanguage,dsl),該dsl用于描述上述的動(dòng)態(tài)內(nèi)容。具體內(nèi)容可以根據(jù)實(shí)際需要定義,例如從通用的超文本標(biāo)記語(yǔ)言(hypertextmarkuplanguage,html)中選擇部分需要的內(nèi)容作為預(yù)設(shè)規(guī)范的dsl。

本實(shí)施例中,通過(guò)對(duì)預(yù)設(shè)規(guī)范的定義,能夠生成與如下三種原生組件分別對(duì)應(yīng)的動(dòng)態(tài)模板:container、text、image。不同的原生組件可以由這三種原生組件中的一個(gè)或多個(gè)進(jìn)行組合生成。其中,通過(guò)上述的每種動(dòng)態(tài)模板可以生成相應(yīng)的原生組件,該原生組件中可以顯示動(dòng)態(tài)模板所描述的動(dòng)態(tài)內(nèi)容,從而在不需要重新安裝新版本的應(yīng)用程序的情況下,通過(guò)改變動(dòng)態(tài)內(nèi)容,就能夠在應(yīng)用程序內(nèi)顯示發(fā)生變化的內(nèi)容。

對(duì)應(yīng)每個(gè)組件的動(dòng)態(tài)模板中可以包括如下數(shù)據(jù):組件內(nèi)容數(shù)據(jù)和與組件綁定的屬性信息。

進(jìn)一步的,屬性信息可以包括樣式(style)和腳本(script)。

以container對(duì)應(yīng)的動(dòng)態(tài)模板為例,該動(dòng)態(tài)模板可以包括:container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等;container的樣式(style),如位置、長(zhǎng)寬尺寸等;container的腳本(script),定義了事件,如用戶產(chǎn)生點(diǎn)擊操作后顯示的頁(yè)面等。

s12:根據(jù)所述頁(yè)面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息。

例如,可以在app內(nèi)預(yù)設(shè)一段代碼,該代碼在獲取到上述的頁(yè)面數(shù)據(jù)后, 可以對(duì)上述的頁(yè)面數(shù)據(jù)進(jìn)行解析,以生成app的原生組件并獲取與原生組件綁定的屬性信息??梢岳斫獾氖?,上述的頁(yè)面數(shù)據(jù)以及原生組件的編寫(xiě)語(yǔ)言都是確定的,通過(guò)兩種語(yǔ)言間的映射關(guān)系,可以由上述的數(shù)據(jù)生成原生組件。

參見(jiàn)圖3,根據(jù)所述頁(yè)面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與原生組件綁定的屬性信息的流程可以包括:

s31:根據(jù)所述頁(yè)面數(shù)據(jù)中包括的與原生組件對(duì)應(yīng)的組件內(nèi)容數(shù)據(jù),進(jìn)行組件映射生成原生組件。

例如,container對(duì)應(yīng)的動(dòng)態(tài)模板中包括container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等,則可以根據(jù)組件內(nèi)容數(shù)據(jù)生成container組件、image組件和text組件。

s32:對(duì)所述頁(yè)面數(shù)據(jù)進(jìn)行解析,從所述頁(yè)面數(shù)據(jù)獲取所述頁(yè)面數(shù)據(jù)中包括的與原生組件綁定的屬性信息。

例如,如上所述,頁(yè)面數(shù)據(jù)中不僅包括上述的組件內(nèi)容數(shù)據(jù),還包括與原生組件綁定的屬性信息,因此,通過(guò)解析頁(yè)面數(shù)據(jù)可以從中獲取相應(yīng)的屬性信息。

進(jìn)一步的,對(duì)應(yīng)每個(gè)原生組件,獲取綁定的屬性信息后,可以建立原生組件與屬性信息之間的綁定關(guān)系,從而在后續(xù)流程中需要對(duì)多個(gè)原生組件進(jìn)行渲染時(shí),可以對(duì)應(yīng)每個(gè)原生組件根據(jù)綁定關(guān)系獲取對(duì)應(yīng)的屬性信息。

s13:根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面中顯示所述動(dòng)態(tài)內(nèi)容。

例如,app在生成原生組件和屬性信息后,可以調(diào)用移動(dòng)端操作系統(tǒng)的渲染引擎,渲染引擎可以獲取原生組件的內(nèi)容,并根據(jù)綁定關(guān)系與原生組件綁定的樣式和腳本,并根據(jù)原生組件的內(nèi)容、樣式和腳本進(jìn)行渲染,從而可以在 app頁(yè)面中顯示出上述的動(dòng)態(tài)內(nèi)容。

進(jìn)一步的,對(duì)應(yīng)應(yīng)用程序中的一個(gè)頁(yè)面,該頁(yè)面中可以包括單一部分的動(dòng)態(tài)內(nèi)容,該單一部分的動(dòng)態(tài)內(nèi)容可以對(duì)應(yīng)一個(gè)原生組件。或者,該頁(yè)面中還可以包括多個(gè)部分的動(dòng)態(tài)內(nèi)容,每個(gè)部分的動(dòng)態(tài)內(nèi)容對(duì)應(yīng)一個(gè)原生組件,不同部分的動(dòng)態(tài)內(nèi)容可以由固定內(nèi)容分離。例如,如圖4所示,以包括兩部分的動(dòng)態(tài)內(nèi)容為例,這兩部分的動(dòng)態(tài)內(nèi)容可以分別對(duì)應(yīng)一個(gè)根據(jù)上述的數(shù)據(jù)生成的原生組件(如container),且這兩部分的動(dòng)態(tài)內(nèi)容由固定內(nèi)容(app內(nèi)原本的native組件對(duì)應(yīng)的內(nèi)容)分離。

圖4是相關(guān)技術(shù)中采用webview方式與本實(shí)施例生成原生組件的方式的顯示效果對(duì)比示意圖。如圖4所示,相關(guān)技術(shù)中,動(dòng)態(tài)內(nèi)容是由webview實(shí)現(xiàn)的,由于webview不是app的原生組件,那么與app的原生組件(native組件)間會(huì)存在銜接不連貫甚至不能銜接等問(wèn)題,進(jìn)而影響app頁(yè)面的顯示效果。而本實(shí)施例中,動(dòng)態(tài)內(nèi)容是通過(guò)先生成原生組件(container、image、text)再渲染的形式實(shí)現(xiàn),由于動(dòng)態(tài)內(nèi)容也由原生組件實(shí)現(xiàn),那么與app原本的原生組件是一致的,不會(huì)存在相互間的銜接問(wèn)題,因此,可以提高通暢性,提高app頁(yè)面的顯示效果。

具體的,相關(guān)技術(shù)中是每個(gè)webview具有一個(gè)上下文(context)并與app原本的原生組件的上下文不同,而本實(shí)施例中由于根據(jù)數(shù)據(jù)生成的組件也是原生組件,與頁(yè)面中原本的原生組件是一樣的,那么全局只有一個(gè)上下文,所以各組件的內(nèi)存空間是公用的,可以相互之間隨意交互。

由于根據(jù)上述的數(shù)據(jù)生成的也是原生組件,可以無(wú)縫嵌入到native頁(yè)面中,不存在相關(guān)技術(shù)中webview與外層native的事件沖突。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,不會(huì)像相關(guān)技術(shù)中采用webview時(shí)的 重復(fù)計(jì)算,滑動(dòng)幀率大大提升。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,原生(native)組件本身通用的適配解決方案很好規(guī)避了webview的適配問(wèn)題。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,很好支持了native能力。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,可以在移動(dòng)端很好指出標(biāo)準(zhǔn)的腳本(js)語(yǔ)法,大大增強(qiáng)了移動(dòng)端上的動(dòng)態(tài)能力。

本實(shí)施例中,通過(guò)生成應(yīng)用程序內(nèi)的原生組件,并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面上顯示動(dòng)態(tài)內(nèi)容,由于生成的是原生組件,可以實(shí)現(xiàn)移動(dòng)端native頁(yè)面中無(wú)縫嵌入動(dòng)態(tài)內(nèi)容,提升應(yīng)用程序中頁(yè)面的顯示效果。

圖5是本申請(qǐng)另一實(shí)施例提出的應(yīng)用程序中頁(yè)面內(nèi)容的顯示裝置的結(jié)構(gòu)示意圖。參見(jiàn)圖5,該裝置50包括:獲取模塊51、生成模塊52和顯示模塊53。

獲取模塊51用于獲取預(yù)先生成的頁(yè)面數(shù)據(jù),所述頁(yè)面數(shù)據(jù)用于描述應(yīng)用程序頁(yè)面中的動(dòng)態(tài)內(nèi)容。

其中,動(dòng)態(tài)內(nèi)容包括頁(yè)面定制方在頁(yè)面服務(wù)器配置的頁(yè)面數(shù)據(jù)。本申請(qǐng)實(shí)施例在不重新安裝新版本的app的情況下,app內(nèi)也能夠顯示發(fā)生更新的內(nèi)容。

以某一購(gòu)物app的店鋪首頁(yè)為例,參見(jiàn)圖2,店鋪首頁(yè)這一頁(yè)面在顯示時(shí),通常會(huì)包括native部分和動(dòng)態(tài)化部分,其中,native部分是該app內(nèi)的固定部分,對(duì)于不同的賣家,native部分相同。動(dòng)態(tài)化部分是每個(gè)賣家能夠動(dòng)態(tài)更新的內(nèi)容,每個(gè)賣家可以根據(jù)自身的需要進(jìn)行個(gè)性化定制,從而不同賣家可以定制不同的店鋪?lái)?yè)面。個(gè)性化定制的內(nèi)容存儲(chǔ)在頁(yè)面服務(wù)器,app在展示app內(nèi)的某個(gè)頁(yè)面時(shí),動(dòng)態(tài)化部分從頁(yè)面服務(wù)器獲取。

進(jìn)一步的,動(dòng)態(tài)化部分可以僅包括動(dòng)態(tài)內(nèi)容,或者,動(dòng)態(tài)化部分可以包括動(dòng)態(tài)內(nèi)容和native內(nèi)容,圖2中以動(dòng)態(tài)化部分包括動(dòng)態(tài)內(nèi)容和native內(nèi)容為例。不同的動(dòng)態(tài)內(nèi)容或native內(nèi)容可以通過(guò)對(duì)相應(yīng)組件的渲染進(jìn)行顯示,如圖2所示,app的頁(yè)面可以包括兩個(gè)交替設(shè)置的native組件和動(dòng)態(tài)化組件,以實(shí)現(xiàn)native內(nèi)容和動(dòng)態(tài)化內(nèi)容交替出現(xiàn)在同一頁(yè)面中顯示的效果。

其中,該預(yù)先生成的頁(yè)面數(shù)據(jù)可以是由提供方根據(jù)預(yù)設(shè)規(guī)范生成的。提供方可以具體是獨(dú)立軟件開(kāi)發(fā)商(independentsoftwarevendors,isv)。該預(yù)先生成的數(shù)據(jù)從頁(yè)面服務(wù)器中獲取。

以該頁(yè)面數(shù)據(jù)稱為動(dòng)態(tài)模板為例,isv可以根據(jù)預(yù)設(shè)規(guī)范進(jìn)行代碼編寫(xiě)以生成動(dòng)態(tài)模板,之后,isv可以將動(dòng)態(tài)模板出售給賣家,賣家可以上傳動(dòng)態(tài)模板到頁(yè)面服務(wù)器,以定制到自己的店鋪首頁(yè)中,以在店鋪首頁(yè)中顯示動(dòng)態(tài)內(nèi)容。

預(yù)設(shè)規(guī)范定義了一套標(biāo)準(zhǔn)的通用領(lǐng)域特定語(yǔ)言(domainspecificlanguage,dsl),該dsl用于描述上述的動(dòng)態(tài)內(nèi)容。具體內(nèi)容可以根據(jù)實(shí)際需要定義,例如從通用的超文本標(biāo)記語(yǔ)言(hypertextmarkuplanguage,html)中選擇部分需要的內(nèi)容作為預(yù)設(shè)規(guī)范的dsl。

本實(shí)施例中,通過(guò)對(duì)預(yù)設(shè)規(guī)范的定義,能夠生成與如下三種原生組件分別對(duì)應(yīng)的動(dòng)態(tài)模板:container、text、image。不同的原生組件可以由這三種原生組件中的一個(gè)或多個(gè)進(jìn)行組合生成。其中,通過(guò)上述的每種動(dòng)態(tài)模板可以生成相應(yīng)的原生組件,該原生組件中可以顯示動(dòng)態(tài)模板所描述的動(dòng)態(tài)內(nèi)容,從而在不需要重新安裝新版本的應(yīng)用程序的情況下,通過(guò)改變動(dòng)態(tài)內(nèi)容,就能夠在應(yīng)用程序內(nèi)顯示發(fā)生變化的內(nèi)容。

對(duì)應(yīng)每個(gè)組件的動(dòng)態(tài)模板中可以包括如下數(shù)據(jù):組件內(nèi)容數(shù)據(jù)和與組件綁定的屬性信息。

進(jìn)一步的,屬性信息可以包括樣式(style)和腳本(script)。

以container對(duì)應(yīng)的動(dòng)態(tài)模板為例,該動(dòng)態(tài)模板可以包括:container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等;container的樣式(style),如位置、長(zhǎng)寬尺寸等;container的腳本(script),定義了事件,如用戶產(chǎn)生點(diǎn)擊操作后顯示的頁(yè)面等。

生成模塊52,用于根據(jù)所述頁(yè)面數(shù)據(jù)生成應(yīng)用程序內(nèi)的原生組件,并獲取與所述原生組件綁定的屬性信息。

例如,可以在app內(nèi)預(yù)設(shè)一段代碼,該代碼在獲取到上述的頁(yè)面數(shù)據(jù)后,可以對(duì)上述的頁(yè)面數(shù)據(jù)進(jìn)行解析,以生成app的原生組件并獲取與原生組件綁定的屬性信息??梢岳斫獾氖牵鲜龅捻?yè)面數(shù)據(jù)以及原生組件的編寫(xiě)語(yǔ)言都是確定的,通過(guò)兩種語(yǔ)言間的映射關(guān)系,可以由上述的數(shù)據(jù)生成原生組件。

一些實(shí)施例中,參見(jiàn)圖6,生成模塊52包括:組件映射單元521和綁定單元522。

組件映射單元521用于根據(jù)所述頁(yè)面數(shù)據(jù)中包括的與原生組件對(duì)應(yīng)的組件內(nèi)容數(shù)據(jù),進(jìn)行組件映射生成原生組件。

例如,container對(duì)應(yīng)的動(dòng)態(tài)模板中包括container的組件內(nèi)容數(shù)據(jù),如container包括image和text、image和text的具體內(nèi)容等,則可以根據(jù)組件內(nèi)容數(shù)據(jù)生成container組件、image組件和text組件。

綁定單元522用于對(duì)所述頁(yè)面數(shù)據(jù)進(jìn)行解析,從所述頁(yè)面數(shù)據(jù)獲取所述頁(yè)面數(shù)據(jù)中包括的與原生組件綁定的屬性信息。

例如,如上所述,頁(yè)面數(shù)據(jù)中不僅包括上述的組件內(nèi)容數(shù)據(jù),還包括與原生組件綁定的屬性信息,因此,通過(guò)解析頁(yè)面數(shù)據(jù)可以從中獲取相應(yīng)的屬性信息。

進(jìn)一步的,對(duì)應(yīng)每個(gè)原生組件,獲取綁定的屬性信息后,可以建立原生組件與屬性信息之間的綁定關(guān)系,從而在后續(xù)流程中需要對(duì)多個(gè)原生組件進(jìn)行渲染時(shí),可以對(duì)應(yīng)每個(gè)原生組件根據(jù)綁定關(guān)系獲取對(duì)應(yīng)的屬性信息。

顯示模塊53,用于根據(jù)所述原生組件和所述屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面中顯示所述動(dòng)態(tài)內(nèi)容。

例如,app在生成原生組件和屬性信息后,可以調(diào)用移動(dòng)端操作系統(tǒng)的渲染引擎,渲染引擎可以獲取原生組件的內(nèi)容,并根據(jù)綁定關(guān)系獲取與原生組件綁定的樣式和腳本,并根據(jù)原生組件的內(nèi)容、樣式和腳本進(jìn)行渲染,從而可以在app頁(yè)面中顯示出上述的動(dòng)態(tài)內(nèi)容。

進(jìn)一步的,對(duì)應(yīng)應(yīng)用程序中的一個(gè)頁(yè)面,該頁(yè)面中可以包括單一部分的動(dòng)態(tài)內(nèi)容,該單一部分的動(dòng)態(tài)內(nèi)容可以對(duì)應(yīng)一個(gè)原生組件?;蛘?,該頁(yè)面中還可以包括多個(gè)部分的動(dòng)態(tài)內(nèi)容,每個(gè)部分的動(dòng)態(tài)內(nèi)容對(duì)應(yīng)一個(gè)原生組件,不同部分的動(dòng)態(tài)內(nèi)容可以由固定內(nèi)容分離。例如,如圖4所示,以包括兩部分的動(dòng)態(tài)內(nèi)容為例,這兩部分的動(dòng)態(tài)內(nèi)容可以分別對(duì)應(yīng)一個(gè)根據(jù)上述的數(shù)據(jù)生成的原生組件(如container),且這兩部分的動(dòng)態(tài)內(nèi)容由固定內(nèi)容(app內(nèi)原本的native組件對(duì)應(yīng)的內(nèi)容)分離。

圖4是相關(guān)技術(shù)中采用webview方式與本實(shí)施例生成原生組件的方式的顯示效果對(duì)比示意圖。如圖4所示,相關(guān)技術(shù)中,動(dòng)態(tài)內(nèi)容是由webview實(shí)現(xiàn)的,由于webview不是app的原生組件,那么與app的原生組件(native組件)間會(huì)存在銜接不連貫甚至不能銜接等問(wèn)題,進(jìn)而影響app頁(yè)面的顯示效果。而本實(shí)施例中,動(dòng)態(tài)內(nèi)容是通過(guò)先生成原生組件(container、image、text)再渲染的形式實(shí)現(xiàn),由于動(dòng)態(tài)內(nèi)容也由原生組件實(shí)現(xiàn),那么與app原本的原生組件是一致的,不會(huì)存在相互間的銜接問(wèn)題,因此,可以提高通暢性,提高app 頁(yè)面的顯示效果。

具體的,相關(guān)技術(shù)中是每個(gè)webview具有一個(gè)上下文(context)并與app原本的原生組件的上下文不同,而本實(shí)施例中由于根據(jù)數(shù)據(jù)生成的組件也是原生組件,與頁(yè)面中原本的原生組件是一樣的,那么全局只有一個(gè)上下文,所以各組件的內(nèi)存空間是公用的,可以相互之間隨意交互。

由于根據(jù)上述的數(shù)據(jù)生成的也是原生組件,可以無(wú)縫嵌入到native頁(yè)面中,不存在相關(guān)技術(shù)中webview與外層native的事件沖突。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,不會(huì)像相關(guān)技術(shù)中采用webview時(shí)的重復(fù)計(jì)算,滑動(dòng)幀率大大提升。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,原生(native)組件本身通用的適配解決方案很好規(guī)避了webview的適配問(wèn)題。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,很好支持了native能力。

由于根據(jù)上述的數(shù)據(jù)生成原生組件,可以在移動(dòng)端很好指出標(biāo)準(zhǔn)的腳本(js)語(yǔ)法,大大增強(qiáng)了移動(dòng)端上的動(dòng)態(tài)能力。

本實(shí)施例中,通過(guò)生成應(yīng)用程序內(nèi)的原生組件并獲取與原生組件綁定的屬性信息,并根據(jù)原生組件和屬性信息進(jìn)行渲染,以在應(yīng)用程序的頁(yè)面上顯示動(dòng)態(tài)內(nèi)容,由于生成的是原生組件,可以實(shí)現(xiàn)移動(dòng)端native頁(yè)面中無(wú)縫嵌入動(dòng)態(tài)內(nèi)容,提升應(yīng)用程序中頁(yè)面的顯示效果。

需要說(shuō)明的是,在本申請(qǐng)的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。此外,在本申請(qǐng)的描述中,除非另有說(shuō)明,“多個(gè)”的含義是指至少兩個(gè)。

流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代 碼的模塊、片段或部分,并且本申請(qǐng)的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本申請(qǐng)的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。

應(yīng)當(dāng)理解,本申請(qǐng)的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場(chǎng)可編程門陣列(fpga)等。

本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。

此外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。

上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。

在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體 特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。

盡管上面已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本申請(qǐng)的限制,本領(lǐng)域的普通技術(shù)人員在本申請(qǐng)的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
封开县| 华宁县| 兴化市| 湘西| 嘉祥县| 沛县| 隆尧县| 行唐县| 叙永县| 司法| 稻城县| 郓城县| 基隆市| 沭阳县| 丰台区| 福州市| 武定县| 会昌县| 萍乡市| 永春县| 宿迁市| 古田县| 东宁县| 白银市| 宣威市| 松原市| 买车| 台湾省| 古交市| 霞浦县| 砀山县| 招远市| 永登县| 碌曲县| 咸丰县| 连城县| 临泉县| 贵溪市| 湘西| 横峰县| 万山特区|