本發(fā)明涉及互聯網技術領域,更具體地,涉及一種輕應用的處理方法、運行方法、設備及應用設備。
背景技術:
輕應用是一種無需下載安裝、即搜即用(搜索后直接加載使用)的全功能應用(app),其既具備web應用(webapp)的可被檢索與智能分發(fā)的特性,又具有媲美甚至超越本地應用(nativeapp)的用戶體驗,可以有效解決優(yōu)質應用和服務與移動用戶需求對接的問題。同時,輕應用的開發(fā)對于開發(fā)者而言,更為簡單友好,成本更低,更易于推廣。因此,輕應用得到較廣泛的應用。
目前業(yè)界中,期望通過輕應用提供應用服務的開發(fā)者或者服務商等,通常是基于輕應用平臺進行輕應用的開發(fā),但是,不同的輕應用平臺可支持的輕應用的具體制式是不同的,例如,新浪微博支持iframe(超文本標記語言標簽)嵌入的網頁(web)版輕應用和網頁視圖控件(webview)展示的html5(第5版超文本標記語言)版輕應用,而微信支持硬編碼(hardcode)的原生(native)版輕應用,因此,導致開發(fā)者或者服務商對于同一種應用服務,如果需要在不同的輕應用平臺上推廣,需要分別針對每個輕應用平臺開發(fā)對應的輕應用,例如,服務商提供一款用于車貸或房貸的貸款計算輕應用,期望在微博、微信、瀏覽器以及其他輕應用平臺上同步推廣,就必須針對上述不同的輕應用平臺進行開發(fā),學習開發(fā)的成本較高,并且重復開發(fā)會帶來較高的開發(fā)成本以及后期維護和更新成本,實現推廣成本較高。
因此,發(fā)明人認為,有必要對現有技術中存在的問題進行改進。
技術實現要素:
本發(fā)明的一個目的是提供一種用于使得輕應用自動適配不同的輕應用平臺運行的新技術方案。
根據本發(fā)明的第一方面,提供了一種輕應用的處理方法,包括:
獲取與目標輕應用對應的目標源碼的語言框架;
根據所述語言框架,提取所述目標源碼中包含的輕應用服務信息;
將所述輕應用服務信息,存儲為與所述目標輕應用關聯的指定格式的描述文件,以供調用本地控件提供對應的輕應用服務。
可選地,所述獲取與目標輕應用對應的目標源碼的語言框架步驟包括:
根據所獲取的目標輕應用的語言框架標識,確定所述語言框架;
和/或
掃描所述目標源碼獲取對應的引用描述信息,并根據所述引用描述信息確定所述語言框架。
可選地,
所述輕應用服務信息至少包括輕應用視圖信息,其中,所述輕應用視圖信息用于描述對應的輕應用提供的界面視圖服務;
和/或
所述指定格式是xmt格式、json格式、text格式或者自定義的html5格式中的一種,其中,所述自定義的html5格式采用自定義的內容標簽。
根據本發(fā)明的第二方面,提供一種輕應用的運行方法,包括:
響應于目標輕應用的運行請求,獲取與所述目標輕應用關聯的指定格式的描述文件;
根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務。
可選地,
所述指定格式是所述自定義的html5格式,其中,所述自定義的html5格式采用自定義的內容標簽;
所述方法還包括:
當根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務出現異常時,
根據所述描述文件中包含的輕應用服務信息,調用網頁控件提供對應的輕應用服務。
可選地,
所述輕應用服務信息至少包括輕應用視圖信息,其中,所述輕應用視圖信息用于描述對應的輕應用提供的界面視圖服務;
和/或
所述指定格式是xmt格式、json格式、text格式或者自定義的html5格式中的一種,其中,所述自定義的html5格式采用自定義的內容標簽。
根據本發(fā)明的第三方面,提供一種輕應用的處理設備,包括:
語言框架獲取單元,用于獲取與目標輕應用對應的目標源碼的語言框架;
服務信息提取單元,用于根據所述語言框架,提取所述目標源碼中包含的輕應用服務信息;
描述文件存儲單元,用于將所述輕應用服務信息,存儲為與所述目標輕應用關聯的指定格式的描述文件,以供調用本地控件提供對應的輕應用服務。
可選地,
所述語言框架獲取單元包括:
第一獲取單元,用于根據所獲取的目標輕應用的語言框架標識,確定所述語言框架;
和/或
第二獲取單元,用于掃描所述目標源碼獲取對應的引用描述信息,并根據所述引用描述信息確定所述語言框架。
根據本發(fā)明的第四方面,提供一種輕應用的運行設備,包括:
描述文件獲取單元,用于響應于目標輕應用的運行請求,獲取與所述目標輕應用關聯的指定格式的描述文件;
本地控件調用單元,根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務。
可選地,
所述指定格式是所述自定義的html5格式,其中,所述自定義的html5格式采用自定義的內容標簽;
所述設備還包括:
網頁控件調用單元,用于所述出現本地控件調用單元出現異常時,根據所述描述文件中包含的輕應用服務信息,調用網頁控件提供對應的輕應用服務。
根據本發(fā)明的第五方面,提供一種應用設備,包括:
根據本發(fā)明的第三方面提供的輕應用的處理設備;
和/或
根據本發(fā)明的第四方面提供的輕應用的運行設備。
根據本發(fā)明的第六方面,提供一種應用設備,
包括存儲器和處理器,
所述存儲器,用于存儲指令;
所述處理器,用于根據所述指令的控制進行操作以執(zhí)行本發(fā)明的第一方面提供的任一項所述的輕應用的處理方法,
和/或
用于根據所述指令的控制進行操作以執(zhí)行本發(fā)明的第二方面提供的任一項所述的輕應用的運行方法。
本發(fā)明的發(fā)明人發(fā)現,在現有技術中,尚未存在一種輕應用的處理方法、運行方法、設備及應用設備,可以使得輕應用可以自動適配不同的輕應用平臺運行,實現開發(fā)者或服務者無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
因此,本發(fā)明所要實現的技術任務或者所要解決的技術問題是本領域技術人員從未想到的或者沒有預期到的,故本發(fā)明是一種新的技術方案。
通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其優(yōu)點將會變得清楚。
附圖說明
被結合在說明書中并構成說明書的一部分的附圖示出了本發(fā)明的實施例,并且連同其說明一起用于解釋本發(fā)明的原理。
圖1是顯示可用于實現本發(fā)明的實施例的應用設備的硬件配置的例子的框圖。
圖2示出了本發(fā)明的第一實施例的輕應用的處理方法的流程圖。
圖3示出了本發(fā)明的第一實施例的輕應用的處理設備的框圖。
圖4示出了本發(fā)明的第二實施例的輕應用的運行方法的示意圖。
圖5示出了本發(fā)明的第二實施例的輕應用的運行設備的框圖。
圖6示出了本發(fā)明的第三實施例的應用設備的框圖。
具體實施方式
現在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發(fā)明的范圍。
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制。
對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
在這里示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
<實體設備>
圖1是示出可以實現本發(fā)明的實施例的應用設備1000的硬件配置的框圖。
應用設備1000可以是便攜式電腦、臺式計算機、手機、平板電腦等。如圖1所示,應用設備1000可以包括處理器1100、存儲器1200、接口裝置1300、通信裝置1400、顯示裝置1500、輸入裝置1600、揚聲器1700、麥克風1800等等。其中,處理器1100可以是中央處理器cpu、微處理器mcu等。存儲器1200例如包括rom(只讀存儲器)、ram(隨機存取存儲器)、諸如硬盤的非易失性存儲器等。接口裝置1300例如包括usb接口、耳機接口等。通信裝置1400例如能夠進行有線或無線通信,具體地可以包括wifi通信、藍牙通信、2g/3g/4g/5g通信等。顯示裝置1500例如是液晶顯示屏、觸摸顯示屏等。輸入裝置1600例如可以包括觸摸屏、鍵盤、體感輸入等。用戶可以通過揚聲器1700和麥克風1800輸入/輸出語音信息。
圖1所示的應用設備僅僅是說明性的并且決不意味著對本發(fā)明、其應用或使用的任何限制。
應用于本發(fā)明的實施例中,應用設備1000的所述存儲器1200用于存儲指令,所述處理器1100用于根據所述指令的控制進行操作。
一個具體的實施例中,所述處理器1100用于根據所述指令的控制進行操作,以執(zhí)行本發(fā)明實施例提供的任意一項輕應用的處理方法,例如,所述存儲器1200存儲控制輕應用的處理的指令,所述處理器1100根據所述指令控制進行操作:獲取與目標輕應用對應的目標源碼的語言框架,并根據所述語言框架,提取所述目標源碼中包含的輕應用服務信息;將所述輕應用服務信息,存儲為與所述目標輕應用關聯的指定格式的描述文件,以供調用本地控件提供對應的輕應用服務。
在另一個具體的實施例中,所述處理器1100用于根據所述指令的控制進行操作,以執(zhí)行本發(fā)明實施例提供的任意一項輕應用的運行方法,例如,所述存儲器1200存儲控制輕應用的運行的指令,所述處理器1100根據所述指令控制進行操作:響應于目標輕應用的運行請求,獲取與所述目標輕應用關聯的指定格式的描述文件;根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務。
而在又一個具體的實施例中,所述處理器1100還可以用于根據所述指令的控制進行操作以執(zhí)行本發(fā)明實施例提供的任意一項輕應用的處理方法,以及可以根據所述指令的控制進行操作以執(zhí)行本發(fā)明實施例提供的任意一項輕應用的運行方法。應當理解的是,此處所述處理器1100可以根據所述指令的控制進行操作以處理某個輕應用,同時還可以根據所述指令的控制進行操作以運行另一輕應用;或者,所述處理器1100可以根據所述指令的控制進行操作以處理某個輕應用,而后還可以根據所述指令的控制進行操作以運行該輕應用等等。
本領域技術人員應當理解,盡管在圖1中對應用設備1000示出了多個裝置,但是,本發(fā)明可以僅涉及其中的部分裝置,例如,應用設備1000只涉及處理器1100和存儲裝置1200。技術人員可以根據本發(fā)明所公開方案設計指令。指令如何控制處理器進行操作,這是本領域公知,故在此不再詳細描述。
<第一實施例>
本實施例的總體構思,是提供一種輕應用的處理方法,基于開發(fā)者或者服務商已經基于某個輕應用平臺開發(fā)得到的輕應用進行處理,使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
<方法>
在本實施例中,提供一種輕應用的處理方法及設備,如圖2所示,包括:
步驟s2100,獲取與目標輕應用對應的目標源碼的語言框架;
在本實施例中,目標輕應用是服務商或者開發(fā)者期望提供某一種應用服務,而基于某個輕應用平臺開發(fā)的無需下載、即搜即用的全功能應用。
所述輕應用平臺可以是例如瀏覽器、或者具有瀏覽器功能的應用,例如微信或者微博。而在現有技術中,基于不同輕應用平臺開發(fā)的輕應用只能在該輕應用平臺上運行,例如,基于微信開發(fā)的支持硬編碼(hardcode)的原生(native)版輕應用,就不能在微博上運行。
而在本實施例中,可以通過獲取與目標輕應用的目標源碼的語言框架,基于如圖2所示的方法對目標輕應用進行處理,使得該輕應用可以自動適配各種不同輕應用平臺運行。
具體應用中,所述目標源碼可以由目標輕應用開發(fā)者或者服務商上傳,也可以通過解析目標輕應用對應的文件獲取。
而所述語言框架,是輕應用開發(fā)時所使用的基于某一種開發(fā)語言的開發(fā)框架,所述開發(fā)語言可以是例如html5(第5版超文本標記語言)、javascript(直譯式腳本語言)等。不同的輕應用平臺支持不同的語言框架,例如,某些瀏覽器支持基于weex的語言框架(支持基于javascript\html5\css語言開發(fā)的開發(fā)框架)、或者某些類似瀏覽器應用如臉書支持的基于reactnative的語言框架(基于javascript語言的開發(fā)框架)。服務商或者開發(fā)者基于某個輕應用平臺開發(fā)的目標輕應用,必須基于對應的語言框架進行開發(fā)得到符合該語言框架的源碼。
具體的一個例子中,服務商或者開發(fā)者可以在上傳目標輕應用對應的目標源碼時,通過向實施本實施例的設備發(fā)送消息或者在該設備的界面上提供的輸入框輸入或者點擊選擇,來設置語言框架標識,以指明所述目標源碼的語言框架,例如是基于weex的語言框架或者是基于react-native的語言框架等等,因此,獲取與目標輕應用對應的目標源碼的語言框架步驟可以包括:根據所獲取的目標輕應用的語言框架標識,確定所述語言框架。
在另一個例子中,可以通過掃描所述目標源碼自動檢測獲取所述目標源碼的語言框架,具體地,獲取與目標輕應用對應的目標源碼的語言框架步驟可以包括:掃描所述目標源碼獲取對應的引用描述信息,并根據所述引用描述信息確定所述語言框架。
例如,輕應用通常是以壓縮文件的形式存在,壓縮文件中有多個包含目標源碼的文件,通常這些文件中會存在類似index文件這樣的包含引用描述信息的入口文件,而引用描述信息中通常描述對應的輕應用引用提供應用服務的文件或者對象,例如,對基于weex的語言框架,會引用后綴為.we的文件,而對基于react-native的語言框架,會使用require('react-native')來獲取react對應,因此掃描目標源碼獲取對應的引用描述信息,就可以根據引用描述信息確定語言框架。
在步驟s2100獲取語言框架后,進入步驟s2200,根據所述語言框架,提取所述目標源碼中包含的輕應用服務信息;
其中,所述輕應用服務信息是描述對應的輕應用可以提供的服務的信息。具體的,所述輕應用服務信息至少包括輕應用視圖信息,其中,所述輕應用視圖信息用于描述對應的輕應用提供的界面視圖服務,例如,所述輕應用視圖信息,可以包括對應的輕應用界面的界面架構信息、包含的文本屬性信息(字體、大小、顏色、位置等)和對應的文本資源地址(例如)、圖片屬性信息(大小、位置、展示樣式等)和對應的圖片資源地址、其他類型的資源屬性信息和對應資源地址等等。此外,所述輕應用服務信息還可以包括輕應用的功能信息,該功能信息用于描述對應的輕應用提供的服務能力。
在步驟s2200獲取輕應用服務信息之后,進入步驟s2300,將所述輕應用服務信息,存儲為與所述目標輕應用關聯的指定格式的描述文件,以供調用本地控件提供對應的輕應用服務。
其中,所述指定格式是支持用于描述輕應用服務信息并可被讀取以支持運行輕應用的文件格式,例如,所述指定格式可以是開發(fā)者或者服務商期望進行輕應用推廣的輕應用平臺可支持讀取的文件格式。
通過將輕應用服務信息存儲為與所述目標輕應用關聯的指定格式的描述文件,使得運行目標輕應用時可以根據關聯的指定格式描述文件調用本地控件提供對應的輕應用服務,實現基于不同輕應用平臺開發(fā)的(或者不同語言框架下開發(fā))的輕應用能以統(tǒng)一的方式運行,從而使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
其中,所述指定格式可以是xmt(extensiblemarkuplanguage可擴展標記語言)格式、json(javascriptobjectnotation,直譯式腳本對應表示)格式、text(文本)格式或者自定義的html5格式中的一種,其中,所述自定義的html5格式采用自定義的內容標簽。
具體地,所述自定義的html5格式中,采用自定義的內容標簽可以使得不同語言框架下使用的內容標簽統(tǒng)一,例如,可以將如<b>(粗體)<i>(斜體)等這類文本內容的標簽統(tǒng)一為<span>+style或其他自定義形式的文本標簽,使得在運行該輕應用調用本地控件顯示界面時,無需再針對多種不同的文本標簽分別進行適配,導致因為多次適配使得顯示速度緩慢。
并且,根據自定義的html5格式的描述文件,調用本地控件提供輕應用服務出現異常時,還可以根據自定義的html格式調用網頁控件提供輕應用服務,例如,當根據自定義的html5格式的描述文件調用本地控件(native控件)展示輕應用的界面,出現html標簽出現閉合、丟失或者其他解析失敗的異常時,可以根據自定義的html格式調用網頁控件(web控件)展示輕應用的頁面。
<裝置>
在本實施例中,還提供一種輕應用的處理設備3000,如圖3所示,包括:語言框架獲取單元3100、服務信息提取單元3200以及描述文件存儲單元3300,用于實施本實施例中提供的輕應用處理方法,在此不再贅述。
所述輕應用的處理設備3000,包括:
語言框架獲取單元3100,用于獲取與目標輕應用對應的目標源碼的語言框架;
服務信息提取單元3200,用于根據所述語言框架,提取所述目標源碼中包含的輕應用服務信息;
描述文件存儲單元3300,用于將所述輕應用服務信息,存儲為與所述目標輕應用關聯的指定格式的描述文件,以供調用本地控件提供對應的輕應用服務。
可選地,所述語言框架獲取單元3100還包括:
第一獲取單元3101,用于根據所獲取的目標輕應用的語言框架標識,確定所述語言框架;
和/或
第二獲取單元3102,用于掃描所述目標源碼獲取對應的引用描述信息,并根據所述引用描述信息確定所述語言框架。
在本實施例中,并不限制所述輕應用的處理設備3000的實施形式,所述輕應用的處理設備3000可以是sdk形式(softwaredevelopmentkit,軟件開發(fā)工具包)支持安裝于不同的輕應用平臺,或者是以插件的形式安裝于不同的輕應用平臺,還可以是內置于輕應用平臺中的功能組件或者輕應用平臺本身等等,并且,應當理解是,輕應用平臺通常包括客戶端和服務器,本實施例中輕應用的處理設備3000可以根據實際需要安裝或者設置于輕應用平臺的客戶端或者服務器。
本領域技術人員應當明白,可以通過各種方式來實現輕應用的處理設備3000。例如,可以通過指令配置處理器來實現輕應用的處理設備3000。例如,可以將指令存儲在rom中,并且當啟動設備時,將指令從rom讀取到可編程器件中來實現輕應用的處理設備3000。例如,可以將輕應用的處理設備3000固化到專用器件(例如asic)中。可以將輕應用的處理設備3000分成相互獨立的單元,或者可以將它們合并在一起實現輕應用的處理設備3000可以通過上述各種實現方式中的一種來實現,或者可以通過上述各種實現方式中的兩種或更多種方式的組合來實現。
以上已經結合附圖描述了本發(fā)明的第一實施例,根據本實施例,提供一種輕應用的處理方法,通過獲取輕應用對應的源碼的語言框架,提取對應的輕應用服務信息,并存儲為與輕應用關聯的指定格式的描述文件,使得運行輕應用時,可以根據描述文件調用本地控件提供對應的輕應用服務,實現基于不同輕應用平臺開發(fā)的(或者不同語言框架下開發(fā))的輕應用能以統(tǒng)一的方式運行,從而使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
<第二實施例>
本實施例的總體構思,是提供一種輕應用的運行方法,使得輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
<方法>
本實施例中提供的輕應用運行方法如圖4所示,包括:
步驟s4110,響應于目標輕應用的運行請求,獲取與所述目標輕應用關聯的指定格式的描述文件;
所述目標輕應用的運行請求通常由期望獲取輕應用服務的用戶,通過某個輕應用平臺觸發(fā)。在本實施例中,響應于目標輕應用的運行請求,獲取與目標輕應用關聯的指定格式的描述文件,具體地,可以根據本第一實施例中的輕應用的處理方法,可以根據獲取的目標輕應用對應的源碼的語言框架,獲取目標輕應用提供的輕應用服務信息,并存儲為與目標輕應用關聯的指定格式的描述文件,在此不再贅述。
其中,所述輕應用服務信息是描述對應的輕應用可以提供的服務的信息。具體的,所述輕應用服務信息至少包括輕應用視圖信息,其中,所述輕應用視圖信息用于描述對應的輕應用提供的界面視圖服務,例如,所述輕應用視圖信息,可以包括對應的輕應用界面的界面架構信息、包含的文本屬性信息(字體、大小、顏色、位置等)和對應的文本資源地址、圖片屬性信息(大小、位置、展示樣式等)和對應的圖片資源地址、其他類型的資源屬性信息和對應的資源地址等等。
應當理解的是,所述輕應用視圖信息中包含各種類型的資源屬性信息和對應的資源地址,當輕應用視圖中展示的某類資源的具體內容發(fā)生更新時,相應地體現為對應的資源地址指向的資源發(fā)生更新,例如某個圖片內容更新時,相應地體現為對應的圖片資源地址指向的圖片資源發(fā)生更新,因此,在目標輕應用的輕應用視圖發(fā)生更新后,無需根據第一實施例提供的輕應用處理方法更新與目標輕應用關聯的指定格式的描述文件,根據本實施例提供的輕應用運行方法運行所述目標輕應用,展示的輕應用視圖即為更新后的輕應用視圖。
此外,所述輕應用服務信息還可以包括輕應用的功能信息,該功能信息用于描述對應的輕應用提供的服務能力。
此外,所述指定格式可以是xmt(extensiblemarkuplanguage可擴展標記語言)格式、json(javascriptobjectnotation,直譯式腳本對應表示)格式、text(文本)格式或者自定義的html5格式中的一種,其中,所述自定義的html5格式采用自定義的內容標簽。
在步驟s4100中獲取描述文件之后,進入步驟s4200,根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務。
通過輕應用服務信息,調用本地控件提供對應的輕應用服務,例如,例如,輕應用服務信息中包含描述文本的<span>+sytle標簽,可以調用本地控件textview將展示<span>對應文本描述的內容,其中調用textview的textcolor和textsize展示對style中描述的文字顏色和字號。
因此,可以實現基于不同輕應用平臺開發(fā)的(或者不同語言框架下開發(fā))的輕應用能以統(tǒng)一的方式運行,從而使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
具體地,當所述指定格式自定義的html5格式中,采用自定義的內容標簽可以使得不同語言框架下使用的內容標簽統(tǒng)一,例如,可以將如<b>(粗體)<i>(斜體)等這類文本內容的標簽統(tǒng)一為<span>+style或其他自定義形式的文本標簽,使得在運行該輕應用調用本地控件顯示文本內容時,無需再針對不同的文本標簽分別進行適配,導致因為多次適配使得顯示速度緩慢。
并且,根據自定義的html5格式的描述文件,調用本地控件提供輕應用服務出現異常時,還可以根據自定義的html格式調用網頁控件提供輕應用服務,例如,當根據自定義的html5格式的描述文件調用本地控件(native控件)展示輕應用的界面,出現html標簽出現閉合、丟失或者其他解析失敗的異常時,可以根據自定義的html格式調用網頁控件(web控件)展示輕應用的頁面。
<設備>
在本實施例中,還提供一種輕應用的運行設備5000,如圖5所示,包括描述文件獲取單元5100、本地控件調用單元5200,可選地,包括網頁控件調用單元5300,用于實施本實施例中提供的輕應用的運行方法,在此不再贅述。
輕應用的運行設備5000,包括:
描述文件獲取單元5100,用于響應于目標輕應用的運行請求,獲取與所述目標輕應用關聯的指定格式的描述文件;
本地控件調用單元5200,根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務。
可選地,所述指定格式是所述自定義的html5格式,其中,所述自定義的html5格式采用自定義的內容標簽;
所述輕應用的運行設備5000還包括:
網頁控件調用單元,用于所述出現本地控件調用單元出現異常時,根據所述描述文件中包含的輕應用服務信息,調用網頁控件提供對應的輕應用服務。
在本實施例中,并不限制所述輕應用的運行設備5000的實施形式,所述輕應用的運行設備5000可以是sdk形式(softwaredevelopmentkit,軟件開發(fā)工具包)支持安裝于不同的輕應用平臺,或者是以插件的形式安裝于不同的輕應用平臺,還可以是內置于輕應用平臺中的功能組件或者輕應用平臺本身等等,并且,應當理解是,輕應用平臺通常包括客戶端和服務器,本實施例中輕應用的運行設備5000可以根據實際需要安裝或者設置于輕應用平臺的客戶端或者服務器。
本領域技術人員應當明白,可以通過各種方式來實現輕應用的運行設備5000。例如,可以通過指令配置處理器來實現輕應用的運行設備5000。例如,可以將指令存儲在rom中,并且當啟動設備時,將指令從rom讀取到可編程器件中來實現輕應用的運行設備5000。例如,可以將輕應用的運行設備5000固化到專用器件(例如asic)中??梢詫⑤p應用的運行設備5000分成相互獨立的單元,或者可以將它們合并在一起實現輕應用的運行設備5000可以通過上述各種實現方式中的一種來實現,或者可以通過上述各種實現方式中的兩種或更多種方式的組合來實現。
以上已經結合附圖描述了本發(fā)明的第二實施例,根據本實施例,提供一種輕應用的運行方法,通過獲取與輕應用關聯的指定格式的描述文件,根據描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務,實現基于不同輕應用平臺開發(fā)的(或者不同語言框架下開發(fā))的輕應用能以統(tǒng)一的方式運行,從而使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
<第三實施例>
本實施例中,提供一種應用設備6000,該應用設備6000包括第一實施例中提供的輕應用的處理設備3000和/或第二實施例中提供的輕應用運行設備5000。
在本實施例中,并不限制所述應用設備6000的具體實施形式,所述應用設備6000可以是sdk形式(softwaredevelopmentkit,軟件開發(fā)工具包)支持安裝于不同的輕應用平臺,或者是以插件的形式安裝于不同的輕應用平臺,還可以是內置于輕應用平臺中的功能組件或者輕應用平臺本身等等,并且,應當理解是,輕應用平臺通常包括客戶端和服務器,本實施例中應用設備6000可以根據實際需要安裝或者設置于輕應用平臺的客戶端或者服務器。
本領域技術人員應當明白,可以通過各種方式來實現應用設備6000。例如,可以通過指令配置處理器來實現應用設備6000。例如,可以將指令存儲在rom中,并且當啟動設備時,將指令從rom讀取到可編程器件中來實現應用設備6000。例如,可以將應用設備6000固化到專用器件(例如asic)中。可以將應用設備6000分成相互獨立的單元,或者可以將它們合并在一起實現。應用設備6000可以通過上述各種實現方式中的一種來實現,或者可以通過上述各種實現方式中的兩種或更多種方式的組合來實現。
<例子>
以下將結合一個例子進一步說明本實施例中提供的應用設備6000,如圖6所示,應用設備6000包括輕應用的處理設備3000和輕應用運行設備5000。
在本例中,期望運行于不同的輕應用平臺的目標輕應用是基于weex的語言框架開發(fā)的,用戶上傳與目標輕應用對應的目標源碼示例如下:
步驟s601,通過應用設備6000中包含的語言框架獲取單元3100,確定目標源碼的語言框架是基于weex的語言框架;
步驟s602,通過應用設備6000中包含的服務信息提取單元3200,提取所述目標源碼中包含的輕應用服務信息:上述目標源碼中描述的包含的按鈕、文本、列表對應的屬性;
步驟s603,通過應用設備6000中包含的描述文件存儲單元3300,將將輕應用服務信息,存儲為與所述目標輕應用關聯的自定義的html5格式的描述文件,下述示出本例中的輕應用服務信息在描述文件中的存儲形式:
在存儲與目標輕應用相關聯的描述文件后,當目標輕應用的運行請求被用戶觸發(fā)時,進入步驟s605,通過描述文件獲取單元5100,讀取對應的自定義的html5格式的描述文件;
步驟s606,通過本地控件調用單元5200,根據所述描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務,以下示出本示例中具體調用時所使用的偽代碼:
//按鈕:
buttonbutton=newbutton(context);
button.settext({{type}});
button.settextcolor(#555555);
button.settextsize(16px);
//文本:
textviewtextview=newtextview(context);
textview.settext({{type}});
textview.settextcolor(#555555);
textview.settextsize(16px);
//列表:
listview+adapter
以上已經結合附圖和例子描述了本發(fā)明的第三實施例,根據本實施例,提供一種應用設備,可以基于輕應用的源碼對輕應用進行處理,提取對應的輕應用服務信息,并存儲為與輕應用關聯的指定格式的描述文件,并通過在運行輕應用時,根據描述文件中包含的輕應用服務信息,調用本地控件提供對應的輕應用服務,實現基于不同輕應用平臺開發(fā)的(或者不同語言框架下開發(fā))的輕應用能以統(tǒng)一的方式運行,從而使得該輕應用可以自動適配各種不同輕應用平臺運行,實現開發(fā)者或服務者可以無需為同一種應用服務針對不同輕應用平臺開發(fā)對應的輕應用,降低輕應用的開發(fā)和推廣成本。
本領域技術人員公知的是,隨著諸如大規(guī)模集成電路技術的電子信息技術的發(fā)展和軟件硬件化的趨勢,要明確劃分計算機系統(tǒng)軟、硬件界限已經顯得比較困難了。因為,任何操作可以軟件來實現,也可以由硬件來實現。任何指令的執(zhí)行可以由硬件完成,同樣也可以由軟件來完成。對于某一機器功能采用硬件實現方案還是軟件實現方案,取決于價格、速度、可靠性、存儲容量、變更周期等非技術性因素。因此,對于電子信息技術領域的普通技術人員來說,更為直接和清楚地描述一個技術方案的方式是描述該方案中的各個操作。在知道所要執(zhí)行的操作的情況下,本領域技術人員可以基于對所述非技術性因素的考慮直接設計出期望的產品。
本發(fā)明可以是系統(tǒng)、方法和/或計算機程序產品。計算機程序產品可以包括計算機可讀存儲介質,其上載有用于使處理器實現本發(fā)明的各個方面的計算機可讀程序指令。
計算機可讀存儲介質可以是可以保持和存儲由指令執(zhí)行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是――但不限于――電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數字多功能盤(dvd)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸的電信號。
這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如因特網、局域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網關計算機和/或邊緣服務器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,并轉發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。
用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(isa)指令、機器指令、機器相關指令、微代碼、固件指令、狀態(tài)設置數據、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向對象的編程語言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡—包括局域網(lan)或廣域網(wan)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現本發(fā)明的各個方面。
這里參照根據本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產品的流程圖和/或框圖描述了本發(fā)明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器執(zhí)行時,產生了實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個制造品,其包括實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執(zhí)行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執(zhí)行的指令實現流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現,或者可以用專用硬件與計算機指令的組合來實現。對于本領域技術人員來說公知的是,通過硬件方式實現、通過軟件方式實現以及通過軟件和硬件結合的方式實現都是等價的。
以上已經描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。本發(fā)明的范圍由所附權利要求來限定。