用于web應(yīng)用的輕量化框架的制作方法
【專利摘要】本文描述的各種技術(shù)涉及使用基于腳本語(yǔ)言的框架來開發(fā)web應(yīng)用。可經(jīng)由基于腳本語(yǔ)言的框架的接口來接收調(diào)用。該調(diào)用可管理基于腳本語(yǔ)言的框架中所包括的控件。此外,該調(diào)用可由參考基于腳本語(yǔ)言的框架的應(yīng)用來提供。此外,可基于由該調(diào)用管理的控件來生成用戶界面,并且可基于由該調(diào)用管理的控件來訪問云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)所提供的基于云的后端服務(wù)。
【專利說明】用于web應(yīng)用的輕量化框架
[0001]背景
[0002]web應(yīng)用是可通過諸如因特網(wǎng)等網(wǎng)絡(luò)來訪問的應(yīng)用。web應(yīng)用可以用可通過客戶機(jī)側(cè)web瀏覽器或客戶機(jī)設(shè)備上的另一應(yīng)用(例如,移動(dòng)應(yīng)用、桌面應(yīng)用等)來訪問和使用的瀏覽器支持的語(yǔ)言(例如,與標(biāo)記語(yǔ)言相組合的腳本語(yǔ)言)來編碼。由于web瀏覽器的普遍性以及將web瀏覽器用作客戶機(jī)的便利,web應(yīng)用已經(jīng)變得逐漸流行。此外,web應(yīng)用的普及導(dǎo)致了集中式應(yīng)用市場(chǎng)的增長(zhǎng)。
[0003]最近,云計(jì)算已經(jīng)變得更加普遍。因此,web應(yīng)用可被構(gòu)建在云平臺(tái)上,在那里web應(yīng)用可以在云中運(yùn)行和/或使用云所提供的后端服務(wù)。構(gòu)建在云平臺(tái)上的應(yīng)用的常規(guī)開發(fā)通常涉及具備對(duì)各種云平臺(tái)專用信息(例如,協(xié)議、數(shù)據(jù)結(jié)構(gòu)等)的理解的web程序員,以便從云中讀取數(shù)據(jù)、向云寫入數(shù)據(jù)、使用其它后端服務(wù),等等。除了與開發(fā)云平臺(tái)上的應(yīng)用相關(guān)聯(lián)的這一復(fù)雜性之外,常規(guī)的開發(fā)經(jīng)??赡苁呛臅r(shí)的。隨著集中式應(yīng)用市場(chǎng)的增長(zhǎng),web程序員逐漸尋求以較少的時(shí)間編寫跨移動(dòng)設(shè)備和web瀏覽器工作的強(qiáng)大應(yīng)用的方法。
[0004]概述
[0005]本文描述了涉及使用基于腳本語(yǔ)言的框架來開發(fā)web應(yīng)用的各種技術(shù)??烧故净谀_本語(yǔ)言的框架的接口。此外,可經(jīng)由基于腳本語(yǔ)言的框架的接口來接收調(diào)用。該調(diào)用可管理基于腳本語(yǔ)言的框架中所包括的控件。此外,該調(diào)用可由參考基于腳本語(yǔ)言的框架的應(yīng)用來提供。此外,可基于由該調(diào)用管理的控件來生成用戶界面,并且可基于由該調(diào)用管理的控件來訪問云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)所提供的基于云的后端服務(wù)。
[0006]基于腳本語(yǔ)言的框架可包括被預(yù)編程為在被啟用時(shí)訪問基于云的后端服務(wù)并生成用戶界面的控件集合。根據(jù)一示例,可開發(fā)提供用于以下操作的調(diào)用的應(yīng)用:啟用、禁用基于腳本語(yǔ)言的框架中所包括的控件中的一個(gè)或多個(gè)、設(shè)置該一個(gè)或多個(gè)控件的屬性值等。例如,這些調(diào)用可以從應(yīng)用中所包括的腳本語(yǔ)言代碼中生成。由此,可開發(fā)采用被結(jié)合到基于腳本語(yǔ)言的框架中(例如通過管理控件集合)的功能的應(yīng)用,而不是通過將自定義代碼包括在應(yīng)用中來執(zhí)行這一功能。
[0007]在各種實(shí)施例中,由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)可包括以下各項(xiàng)中的一個(gè)或多個(gè):向分布式數(shù)據(jù)存儲(chǔ)寫入數(shù)據(jù)、從分布式數(shù)據(jù)存儲(chǔ)中讀取數(shù)據(jù)、搜索被保存在分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)、索引分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù),等等。另選地或另外地,可經(jīng)由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)和/或直接從基于腳本語(yǔ)言的框架來訪問一個(gè)或多個(gè)第三方服務(wù)。
[0008]以上概述呈現(xiàn)了簡(jiǎn)化概述,以提供對(duì)本文描述的系統(tǒng)和/或方法的各方面的基本理解。本概述不是本文描述的系統(tǒng)和/或方法的廣義概觀。它并非意在標(biāo)識(shí)關(guān)鍵/重要元素,亦非意欲描繪這類系統(tǒng)和/或方法的范圍。其唯一的目的是要以簡(jiǎn)化形式給出一些概念以為稍后給出的更加具體的說明之序。
[0009]附圖簡(jiǎn)述
[0010]圖1示出了方便開發(fā)web應(yīng)用的示例性系統(tǒng)的功能框圖。
[0011]圖2示出了方便開發(fā)采用第三方服務(wù)的web應(yīng)用的示例性系統(tǒng)的功能框圖。[0012]圖3示出了用于使用基于腳本語(yǔ)言的框架來開發(fā)應(yīng)用的示例性系統(tǒng)的功能框圖。
[0013]圖4是示出用于開發(fā)web應(yīng)用的示例性方法的流程圖。
[0014]圖5是示出用于開發(fā)web應(yīng)用的另一示例性方法的流程圖。
[0015]圖6示出了示例性計(jì)算設(shè)備。
[0016]詳細(xì)描述
[0017]現(xiàn)在參考附圖來描述涉及使用輕量化的客戶機(jī)側(cè)框架來開發(fā)web應(yīng)用的各種技術(shù),其中在附圖中貫穿始終使用相同的附圖標(biāo)記來引述相同的要素。在以下描述中,出于解釋目的闡述了眾多具體細(xì)節(jié)以提供對(duì)一個(gè)或更多個(gè)方面的透徹理解。但是顯然的是,沒有這些具體細(xì)節(jié)也可實(shí)踐此(諸)方面。在其他實(shí)例中,公知的結(jié)構(gòu)和設(shè)備以框圖形式示出以幫助描述一個(gè)或更多個(gè)方面。另外,可以理解,被描述為由特定系統(tǒng)組件執(zhí)行的功能可由多個(gè)組件執(zhí)行。類似地,例如,一組件可被配置成執(zhí)行被描述為由多個(gè)組件執(zhí)行的功能。
[0018]此外,術(shù)語(yǔ)“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或從上下文能清楚地看出,否則短語(yǔ)“X采用A或B”旨在表示任何自然的可兼排列。即,短語(yǔ)“X米用A或B”藉由以下實(shí)例中任何實(shí)例得到滿足:X米用A ;X米用B ;或X米用A和B兩者。另外,本申請(qǐng)和所附權(quán)利要求書中所使用的冠詞“一”和“某”一般應(yīng)當(dāng)被解釋成表示“一個(gè)或多個(gè)”,除非另外聲明或者可從上下文中清楚看出是指單數(shù)形式。
[0019]如此處所闡述的,輕量化框架能夠方便web程序員進(jìn)行快速web應(yīng)用開發(fā)。本文描述的輕量化框架可以是基于腳本語(yǔ)言的框架。此外,輕量化框架可使得能夠進(jìn)行設(shè)備兼容用戶界面創(chuàng)建以及對(duì)云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)中所保存的數(shù)據(jù)和/或由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供或可經(jīng)由該分布式數(shù)據(jù)存儲(chǔ)獲取的基于云的后端服務(wù)的訪問。相反,用于web應(yīng)用開發(fā)的常規(guī)框架通常支持用戶界面創(chuàng)建但不支持?jǐn)?shù)據(jù)訪問。因此,在常規(guī)web應(yīng)用開發(fā)中,web程序員經(jīng)常需要具備云技術(shù)、數(shù)據(jù)結(jié)構(gòu)、協(xié)議等的知識(shí),以便開發(fā)從云中讀取數(shù)據(jù)、向云寫入數(shù)據(jù)或采用其它基于云的后端服務(wù)的web應(yīng)用。
[0020]現(xiàn)在參考附圖,圖1示出了方便開發(fā)web應(yīng)用的系統(tǒng)100。系統(tǒng)100包括在一示例性實(shí)施例中是客戶機(jī)側(cè)框架的基于腳本語(yǔ)言的框架102。例如,基于腳本語(yǔ)言的框架102可以是特征豐富的輕量化框架。此外,基于腳本語(yǔ)言的框架102能夠通過緩解與在應(yīng)用開發(fā)期間執(zhí)行的常見活動(dòng)相關(guān)聯(lián)的開銷來支持web應(yīng)用的開發(fā)。由于與這些常見活動(dòng)相關(guān)聯(lián)的功能能夠被結(jié)合到基于腳本語(yǔ)言的框架102中,因此web程序員無(wú)需在應(yīng)用開發(fā)期間執(zhí)行這些活動(dòng),而是能夠改為創(chuàng)建使用由基于腳本語(yǔ)言的框架102供應(yīng)的功能的應(yīng)用。
[0021]開發(fā)web應(yīng)用通常涉及構(gòu)建用戶界面的集合以及構(gòu)建對(duì)后端系統(tǒng)的數(shù)據(jù)訪問(和/或構(gòu)建后端系統(tǒng))。用戶界面能夠收集來自用戶的各種形式的輸入并且能夠處理輸入以遵循后端系統(tǒng)的規(guī)范。此外,用戶界面可以向用戶呈現(xiàn)輸出?;谀_本語(yǔ)言的框架102通過允許web程序員既管理對(duì)后端系統(tǒng)的數(shù)據(jù)訪問也管理使用基本腳本語(yǔ)言代碼和/或標(biāo)記語(yǔ)言代碼的用戶界面的創(chuàng)建來簡(jiǎn)化web應(yīng)用的開發(fā)。例如,腳本語(yǔ)言可以是JavaScript?。
標(biāo)記語(yǔ)言的示例可以是HTML。然而,應(yīng)該理解,所要求保護(hù)的主題不限于上述示例。
[0022]基于腳本語(yǔ)言的框架102包括數(shù)據(jù)訪問組件104和用戶界面(UI)創(chuàng)建組件106。數(shù)據(jù)訪問組件104與基于云的后端系統(tǒng)集成。具體而言,數(shù)據(jù)訪問組件104可訪問由云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108提供的基于云的后端服務(wù)。例如,數(shù)據(jù)訪問組件104可以從分布式數(shù)據(jù)存儲(chǔ)108中讀取數(shù)據(jù)、向分布式數(shù)據(jù)存儲(chǔ)108寫入數(shù)據(jù)、采用由分布式數(shù)據(jù)存儲(chǔ)108抽象的第三方基于云的后端服務(wù),等等。數(shù)據(jù)訪問組件104可被設(shè)計(jì)成自動(dòng)使用分布式數(shù)據(jù)存儲(chǔ)108 ;由此,由web程序員開發(fā)的web應(yīng)用能夠自動(dòng)使用分布式數(shù)據(jù)存儲(chǔ)108,且web程序員無(wú)需集成對(duì)由分布式數(shù)據(jù)存儲(chǔ)108提供的基于云的后端服務(wù)的訪問。
[0023]此外,Π創(chuàng)建組件106可生成用戶界面的集合。UI創(chuàng)建組件106可生成能夠收集來自用戶的各種形式的輸入并且能夠處理輸入以遵循后端系統(tǒng)的規(guī)范的用戶界面。此外,UI創(chuàng)建組件106可生成能夠向用戶呈現(xiàn)輸出的用戶界面。
[0024]此外,基于腳本語(yǔ)言的框架102包括控件集合112。根據(jù)一示例,基于腳本語(yǔ)言的框架102可包括包含控件112的一個(gè)或多個(gè)腳本語(yǔ)言庫(kù)??丶?12可由Π創(chuàng)建組件106用來創(chuàng)建用戶界面且由數(shù)據(jù)訪問組件104用來訪問由云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108提供的基于云的后端服務(wù)。根據(jù)一說明,當(dāng)來自控件112的給定控件被啟用時(shí),Π創(chuàng)建組件106可基于該給定控件來生成用戶界面,并且數(shù)據(jù)訪問組件可基于該給定控件來訪問由云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108提供的基于云的后端服務(wù)。由此,該給定控件能夠被web程序員利用,而不是web程序員編寫自定義代碼來提供該給定控件的功能。
[0025]基于腳本語(yǔ)言的框架102還可包括接口組件114。該接口組件114可以是用于應(yīng)用116 (例如,web應(yīng)用)的腳本語(yǔ)言接口,其中應(yīng)用116可包括腳本語(yǔ)言代碼和/或標(biāo)記語(yǔ)言代碼。應(yīng)用116可經(jīng)由接口組件114來參考基于腳本語(yǔ)言的框架102以采用被結(jié)合到該基于腳本語(yǔ)言的框架102中的功能。此外,應(yīng)用116可經(jīng)由接口組件114來向基于腳本語(yǔ)言的框架102提供調(diào)用。例如,調(diào)用可管理控件112中的一個(gè)或多個(gè)(例如,調(diào)用可管理來自控件112的控件)。根據(jù)一示例,調(diào)用可以從應(yīng)用116中所包括的腳本語(yǔ)言代碼中生成;由此,應(yīng)用116可包括能夠生成管理控件112中的一個(gè)或多個(gè)的一個(gè)或多個(gè)調(diào)用的腳本語(yǔ)言代碼,其中該一個(gè)或多個(gè)調(diào)用可經(jīng)由接口組件114被提供給基于腳本語(yǔ)言的框架102。
[0026]基于腳本語(yǔ)言的框架102中的控件112可基于應(yīng)用116中所包括的腳本語(yǔ)言代碼來啟用或禁用(例如,響應(yīng)于由應(yīng)用116經(jīng)由接口組件114提供的調(diào)用)。此外,控件112可具有可由應(yīng)用116中的腳本語(yǔ)言來管理的屬性和效果(例如,響應(yīng)于由應(yīng)用116經(jīng)由接口組件114提供的調(diào)用)。根據(jù)一示例,控件112中的一個(gè)或多個(gè)可基于應(yīng)用116中的腳本語(yǔ)言代碼來動(dòng)態(tài)地樣式化。作為另一示例,控件112中的一個(gè)或多個(gè)可具有可響應(yīng)于應(yīng)用116中的腳本語(yǔ)言代碼來設(shè)置的屬性范圍。
[0027]基于腳本語(yǔ)言的框架102可由web程序員在開發(fā)應(yīng)用116時(shí)使用?;谀_本語(yǔ)言的框架102提供與數(shù)據(jù)訪問(例如經(jīng)由數(shù)據(jù)訪問組件104)以及用戶界面生成(例如經(jīng)由UI創(chuàng)建組件106)有關(guān)的功能。因此,使用基于腳本語(yǔ)言的框架102可減少web程序員在開發(fā)應(yīng)用116時(shí)花費(fèi)的時(shí)間量。因此,基于腳本語(yǔ)言的框架102能夠提高應(yīng)用116的web程序員的使用腳本語(yǔ)言代碼和/或標(biāo)記語(yǔ)言代碼來管理數(shù)據(jù)訪問和用戶界面創(chuàng)建的能力。
[0028]數(shù)據(jù)訪問組件104能夠直接訪問云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108。因此,web程序員能夠使用簡(jiǎn)單的腳本語(yǔ)言代碼和/或標(biāo)記語(yǔ)言代碼來生成對(duì)分布式數(shù)據(jù)存儲(chǔ)108進(jìn)行讀和/或?qū)懙膽?yīng)用116。web程序員能夠在不具備云技術(shù)、數(shù)據(jù)結(jié)構(gòu)、協(xié)議等的知識(shí)的情況下創(chuàng)建應(yīng)用116。相反,應(yīng)用116可管理(例如,啟用、禁用、設(shè)置屬性或效果的值、樣式化等)控件112中的一個(gè)或多個(gè);基于如由應(yīng)用116管理的控件112中的一個(gè)或多個(gè),數(shù)據(jù)訪問組件104能夠直接訪問云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108。
[0029]分布式數(shù)據(jù)存儲(chǔ)108被構(gòu)建在云平臺(tái)110上。分布式數(shù)據(jù)存儲(chǔ)108可以是云平臺(tái)110上的可完全伸縮、復(fù)制的數(shù)據(jù)存儲(chǔ)。在一示例性實(shí)施例中,分布式數(shù)據(jù)存儲(chǔ)108可以是NoSQL存儲(chǔ)。此外,分布式數(shù)據(jù)存儲(chǔ)108可被構(gòu)建在搜索組件118和索引組件120上。搜索組件118可以是提供全文本和/或圖像搜索的搜索引擎。作為對(duì)搜索組件118和索引組件120的補(bǔ)充或替換,云平臺(tái)110還可提供其它后端服務(wù)。由此,根據(jù)一示例,數(shù)據(jù)訪問組件104可使用搜索組件118來搜索分布式數(shù)據(jù)存儲(chǔ)108中的數(shù)據(jù),使用索引組件120來索引分布式數(shù)據(jù)存儲(chǔ)108中的數(shù)據(jù),等等。
[0030]云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108通過應(yīng)用編程接口(API) 122的集合來展示。API122可以是具有REST(代表性狀態(tài)轉(zhuǎn)移)特性的API。此外,API122可被集成到基于腳本語(yǔ)言的框架102中。例如,數(shù)據(jù)訪問組件104可采用API122來訪問分布式數(shù)據(jù)存儲(chǔ)108。因此,基于腳本語(yǔ)言的框架102可抽象API122以使得web程序員無(wú)需學(xué)習(xí)如何利用API122。相反,接口組件114可展示可由web程序員用來開發(fā)應(yīng)用116的簡(jiǎn)單腳本語(yǔ)言接口。作為示例,可以在基于腳本語(yǔ)言的框架102中獲取的控件112可經(jīng)由接口組件114來展示。
[0031]此外,第三方服務(wù)的集合可被集成到分布式數(shù)據(jù)存儲(chǔ)108中:即,第三方服務(wù)1124……以及第三方服務(wù)N126,其中N可以是幾乎任何整數(shù)(此處統(tǒng)稱為第三方服務(wù)124-126)。因此,分布式數(shù)據(jù)存儲(chǔ)108可提供對(duì)第三方服務(wù)124-126的API的訪問。此處,數(shù)據(jù)訪問組件104可經(jīng)由云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108來訪問第三方服務(wù)124-126(例如,第三方基于云的后端服務(wù))。第三方服務(wù)124-126的示例可包括web搜索服務(wù)、圖像搜索服務(wù)、視頻搜索服務(wù)、社交網(wǎng)絡(luò)服務(wù)、微博服務(wù)、地圖服務(wù)、半結(jié)構(gòu)化數(shù)據(jù)庫(kù)搜索服務(wù)、認(rèn)證服務(wù)、云平臺(tái)服務(wù),等等。然而,將會(huì)認(rèn)識(shí)到所要求保護(hù)的主題不限于第三方服務(wù)124-126的上述示例,而是任何第三方服務(wù)都旨在落入所附權(quán)利要求書的范圍內(nèi)。
[0032]此外,當(dāng)完成開發(fā)時(shí),應(yīng)用116可被上傳到web主存服務(wù)(未示出)。由于,應(yīng)用116可以用腳本語(yǔ)言代碼和 /或標(biāo)記語(yǔ)言代碼來編寫,因此應(yīng)用116可被嵌入或上傳到例如幾乎任何網(wǎng)站。當(dāng)變得可用時(shí),應(yīng)用116可被檢索并加載到客戶機(jī)設(shè)備(未示出)的web瀏覽器上以供執(zhí)行。此外,應(yīng)用116可以是客戶機(jī)設(shè)備不可知的,以使其能夠跨現(xiàn)代桌面、膝上型和移動(dòng)瀏覽器工作。
[0033]以下闡述展示了一種用于開發(fā)在基于云的數(shù)據(jù)存儲(chǔ)中維護(hù)地址簿的應(yīng)用的常規(guī)方法。web程序員最初可定義數(shù)據(jù)對(duì)象和數(shù)據(jù)對(duì)象之間的關(guān)系(例如,人、人所屬的組織等)。之后,web程序員可構(gòu)建用戶界面的集合。根據(jù)一示例,web程序員可構(gòu)建用于創(chuàng)建聯(lián)系人的用戶界面、用于將聯(lián)系人與其它聯(lián)系人相關(guān)聯(lián)的用戶界面、用于更新聯(lián)系人的用戶界面、用于刪除聯(lián)系人的用戶界面、用于搜索聯(lián)系人的用戶界面,等等。當(dāng)開發(fā)這些用戶界面和定義數(shù)據(jù)對(duì)象時(shí),web程序員可構(gòu)建后端服務(wù)的集合(例如,基于云的后端服務(wù))和/或構(gòu)建訪問后端服務(wù)的集合的系統(tǒng)。后端服務(wù)的示例可包括用于向基于云的數(shù)據(jù)存儲(chǔ)寫入數(shù)據(jù)的服務(wù)、用于從基于云的數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)的服務(wù)、用于搜索被保存在基于云的數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的服務(wù)、用于編輯基于云的數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的服務(wù)、用于從基于云的數(shù)據(jù)存儲(chǔ)中刪除數(shù)據(jù)的服務(wù),等等。上述方法對(duì)于web程序員而言可能是耗時(shí)的。此外,這一開發(fā)可涉及對(duì)各種協(xié)議、數(shù)據(jù)結(jié)構(gòu)等的重要理解。
[0034]相反,基于腳本語(yǔ)言的框架102與云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108集成。此外,基于腳本語(yǔ)言的框架102包括可根據(jù)應(yīng)用116中所包括的腳本語(yǔ)言代碼來管理的控件集合112。此外,控件112可以在基于腳本語(yǔ)言的框架102內(nèi)被預(yù)編程為訪問基于云的后端系統(tǒng)(例如,云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108)。由此,web程序員可編寫腳本語(yǔ)言代碼和/或標(biāo)記語(yǔ)言代碼以管理被集成到云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108的豐富后端中的基于腳本語(yǔ)言的框架102的控件112,而不是web程序員必須執(zhí)行一定范圍的后端編程以及用戶界面開發(fā)。
[0035]現(xiàn)在參考圖2,所示的是方便開發(fā)采用第三方服務(wù)的web應(yīng)用的系統(tǒng)200。系統(tǒng)200包括基于腳本語(yǔ)言的框架102,該基于腳本語(yǔ)言的框架102可以進(jìn)一步包括數(shù)據(jù)訪問組件104、Π創(chuàng)建組件106、控件集合112以及接口組件114。如上所述,數(shù)據(jù)訪問組件104能夠經(jīng)由ΑΡΙ122來直接訪問云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108。
[0036]此外,一個(gè)或多個(gè)第三方服務(wù)可被直接集成到基于腳本語(yǔ)言的框架102中。由此,第三方服務(wù)1202……以及第三方服務(wù)Μ204(此處統(tǒng)稱為第三方服務(wù)202-204)的API可被展示給基于腳本語(yǔ)言的框架102的數(shù)據(jù)數(shù)據(jù)訪問組件104,其中M可以是幾乎任何整數(shù)?;谀_本語(yǔ)言的框架102可以抽象第三方服務(wù)202-204的API。因此,應(yīng)用116可包括管理控件112中的一個(gè)或多個(gè)的腳本語(yǔ)言代碼,其中控件112可使得數(shù)據(jù)數(shù)據(jù)訪問組件104采用第三方服務(wù)202-204中的一個(gè)或多個(gè),而應(yīng)用116的web程序員無(wú)需具備用于該一個(gè)或多個(gè)第三方服務(wù)202-204的API的數(shù)據(jù)結(jié)構(gòu)、協(xié)議等的知識(shí)。由此,web程序員無(wú)需在開發(fā)應(yīng)用116時(shí)編寫訪問該一個(gè)或多個(gè)第三方服務(wù)202-204的代碼,因?yàn)檫@一集成被結(jié)合到基于腳本語(yǔ)言的框架102中。
[0037]第三方服務(wù)202-204的示例可包括web搜索服務(wù)、圖像搜索服務(wù)、視頻搜索服務(wù)、社交網(wǎng)絡(luò)服務(wù)、微博服務(wù)、地圖服務(wù)、半結(jié)構(gòu)化數(shù)據(jù)庫(kù)搜索服務(wù)、認(rèn)證服務(wù)、云平臺(tái)服務(wù),等等。但是,所要求保護(hù)的主題不限于第三方服務(wù)202-204的上述示例。根據(jù)一示例,第三方服務(wù)可被集成到分布式數(shù)據(jù)存儲(chǔ)108和數(shù)據(jù)訪問組件104中(例如,第三方服務(wù)可以是第三方服務(wù)124-126中的一個(gè)以及第三方服務(wù)202-204中的一個(gè))。另外地或另選地,第三方服務(wù)可被集成到分布式數(shù)據(jù)存儲(chǔ)108或數(shù)據(jù)訪問組件104中(例如,第三方服務(wù)可以是第三方服務(wù)124-126中的一個(gè)或者第三方服務(wù)202-204中的一個(gè))。
[0038]作為示例,當(dāng)客戶機(jī)設(shè)備(例如,執(zhí)行應(yīng)用116的設(shè)備)的網(wǎng)際協(xié)議(IP)地址將被提供給第三方服務(wù)(例如,以便返回與該IP地址相關(guān)的內(nèi)容)時(shí),一控件(例如來自控件112)可使得數(shù)據(jù)訪問組件104直接向該第三方服務(wù)提供該IP地址,而不是間接地向該第三方服務(wù)傳遞該IP地址。由此,數(shù)據(jù)訪問組件104可將IP地址發(fā)送到與其直接集成的第三方服務(wù)202-204中的一個(gè)或多個(gè),而不是將IP地址發(fā)送到可經(jīng)由云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108來訪問的第三方服務(wù)124-126中的一個(gè)或多個(gè)。
[0039]現(xiàn)在轉(zhuǎn)向圖3,所示的是用于使用基于腳本語(yǔ)言的框架102來開發(fā)應(yīng)用116的系統(tǒng)300?;谀_本語(yǔ)言的框架102包括數(shù)據(jù)訪問組件104、UI創(chuàng)建組件106以及接口組件114,數(shù)據(jù)訪問組件104可訪問基于云的后端系統(tǒng)(例如,圖1的云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)108、圖2的第三方服務(wù)202-204等),Π創(chuàng)建組件106生成用戶界面,而接口組件114可以與應(yīng)用116接口。
[0040]此外,基于腳本語(yǔ)言的框架102包括控件112??丶?12可以基于例如模型-視圖-控制器(MVC)模型??丶?12可根據(jù)應(yīng)用116中所包括的腳本語(yǔ)言代碼來啟用或禁用。例如,當(dāng)控件112中的一個(gè)或多個(gè)在應(yīng)用116中被啟用時(shí),所啟用的控件112可使得Π倉(cāng)Ij建組件106生成用戶界面。此外,控件112可具有可對(duì)其應(yīng)用的屬性和效果的范圍。根據(jù)一說明,控件112中的一個(gè)或多個(gè)可基于應(yīng)用116中的腳本語(yǔ)言代碼來樣式化。例如,控件112中的一個(gè)或多個(gè)可由應(yīng)用116來管理以使得Π創(chuàng)建組件106動(dòng)畫化呈現(xiàn)在客戶機(jī)設(shè)備的顯示器上的用戶界面??赡艿膭?dòng)畫可被結(jié)合到基于腳本語(yǔ)言的框架102中所包括的控件112中。根據(jù)另一示例,基于腳本語(yǔ)言的框架102中所包括的控件112彼此可具有依賴性;根據(jù)該示例,控件112之間的依賴性可允許Π創(chuàng)建組件106在所生成的用戶界面中提供豐富的動(dòng)畫。作為另一示例,控件112可具有多個(gè)屬性,諸如名稱、標(biāo)題等。
[0041]根據(jù)一示例,控件112中的一個(gè)或多個(gè)可管理對(duì)應(yīng)用116的認(rèn)證。例如,應(yīng)用116可包括從可用的認(rèn)證方案集合(例如由不同的第三方服務(wù)所提供的)中選擇一認(rèn)證方案的腳本語(yǔ)言代碼。之后,所選認(rèn)證方案能夠從后端(例如圖1的云平臺(tái)110上的分布式數(shù)據(jù)存儲(chǔ)108)直到前端地跨系統(tǒng)采用。
[0042]此外,Π創(chuàng)建組件106可包括定制組件302,該定制組件可檢測(cè)其上正在運(yùn)行應(yīng)用116的客戶機(jī)設(shè)備的能力并根據(jù)檢測(cè)到的能力來修改基于控件112中的一個(gè)或多個(gè)所生成的用戶界面。例如,如果應(yīng)用116被加載在智能電話上,定制組件302可檢測(cè)到該客戶機(jī)設(shè)備包括相機(jī)和話筒。根據(jù)該示例,定制組件302可修改由UI創(chuàng)建組件106基于控件112中的一個(gè)或多個(gè)所生成的用戶界面以包括與智能電話的相機(jī)和話筒相關(guān)的特征,而這些特征可以在定制組件302檢測(cè)到客戶機(jī)設(shè)備缺少相機(jī)和話筒時(shí)在由UI創(chuàng)建組件106生成的用戶界面中省略。通過包括定制組件302,基于腳本語(yǔ)言的框架102可使得應(yīng)用116能夠采用其上正在執(zhí)行應(yīng)用116的客戶機(jī)設(shè)備的能力。此外,應(yīng)用116可通過利用被結(jié)合到基于腳本語(yǔ)言的框架102中的定制組件302,在web程序員沒有為了支持各種類型的設(shè)備而進(jìn)行編碼的情況下跨移動(dòng)設(shè)備、臺(tái)式設(shè)備、膝上型設(shè)備等工作。
[0043]UI創(chuàng)建組件106還可包括可以分階段鋪排(rollout)應(yīng)用116的特征的欄柵(flighting)組件304。例如,web程序員可能期望特定用戶子集可訪問應(yīng)用116的一特征。因此,欄柵組件304能夠在針對(duì)該用戶子集所生成的用戶界面中提供應(yīng)用116的特征,而在針對(duì)應(yīng)用116的其余用戶所生成的用戶界面中隱藏該特征。通過在基于腳本語(yǔ)言的框架102中包括欄柵組件304,web程序員無(wú)需編寫用于允許分階段鋪排應(yīng)用116的特征的自定義代碼。
[0044]此外,基于腳本語(yǔ)言的框架102可包括從控件112接收通知并向控件112發(fā)送通知的通知組件306。因此,在基于腳本語(yǔ)言的框架102中,通知組件306可以在控件112之間交換信息,這可允許具有控件112之間的依賴性。根據(jù)一說明,應(yīng)用116可以是腳本語(yǔ)言外殼,其可包括生成對(duì)多個(gè)控件112的調(diào)用的腳本語(yǔ)言代碼。根據(jù)該說明,在應(yīng)用116內(nèi)調(diào)用的多個(gè)控件112可以從通知組件306接收外殼級(jí)通知,由此方便多個(gè)控件112之間的交互。
[0045]例如,兩個(gè)控件(例如來自控件112)可被包括在網(wǎng)頁(yè)上;例如一個(gè)控件可以是名稱的列表視圖,而另一控件可以是詳細(xì)視圖。根據(jù)該示例,這兩個(gè)控件可經(jīng)由通知組件306交換信息。因此,例如如果在該列表視圖中選擇了(例如點(diǎn)擊)一名稱,則詳細(xì)視圖可顯示對(duì)應(yīng)于列表視圖中的所選名稱的細(xì)節(jié)。此外,通知組件306可交換控件112所使用的信息以實(shí)現(xiàn)事件鏈接。因此,控件112的行為可基于事件(例如,加載數(shù)據(jù)、處理事務(wù)、完成動(dòng)畫、接收到用戶輸入等)來鏈接。[0046]此外,數(shù)據(jù)訪問組件104可包括可將控件112綁定到數(shù)據(jù)源(例如,基于云的后端系統(tǒng))的源綁定組件308。根據(jù)一示例,源綁定組件308可將控件112中的兩個(gè)控件綁定到來自不同源的對(duì)象。根據(jù)該示例,源綁定組件308可將控件112中的一個(gè)控件綁定到來自第一社交網(wǎng)絡(luò)服務(wù)的對(duì)象,將控件112中的另一控件綁定到來自第二社交網(wǎng)絡(luò)服務(wù)的對(duì)象;但是,可以理解,所要求保護(hù)的主題不限于上述示例。由于源綁定組件308可將控件112綁定到不同的數(shù)據(jù)源,因此數(shù)據(jù)訪問組件104可以對(duì)來自各種數(shù)據(jù)源的信息采用規(guī)范化模式。這一模式規(guī)范化可允許控件112之間的靈活的信息交換。在各種實(shí)施例中,源綁定組件308可將控件112中的一個(gè)或多個(gè)綁定到開放數(shù)據(jù)協(xié)議(0D數(shù)據(jù))源;然而,可以理解,所要求保護(hù)的主題不限于此。
[0047]圖4-5示出了涉及使用基于腳本語(yǔ)言的框架來開發(fā)web應(yīng)用的示例性方法。盡管各方法被示出和描述為順序地執(zhí)行的一系列動(dòng)作,但可以理解和感知的是,這些方法不受該順序的次序的限制。例如,一些動(dòng)作能以與本文描述的不同的次序發(fā)生。另外,動(dòng)作可以與另一動(dòng)作并發(fā)地發(fā)生。此外,在一些實(shí)例下,實(shí)現(xiàn)本文描述的方法并不需要所有動(dòng)作。
[0048]此外,本文描述的動(dòng)作可以是可由一個(gè)或多個(gè)處理器實(shí)現(xiàn)的和/或存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令。計(jì)算機(jī)可執(zhí)行指令可包括例程、子例程、程序、執(zhí)行的線程等。另外,這些方法的動(dòng)作的結(jié)果可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,顯示在顯不設(shè)備上,等等。
[0049]圖4示出了用于開發(fā)web應(yīng)用的方法400。在402,可展示基于腳本語(yǔ)言的框架的接口。在404,可經(jīng)由該接口來接收調(diào)用。經(jīng)由該接口接收到的調(diào)用可管理基于腳本語(yǔ)言的框架中所包括的控件。此外,該調(diào)用可由參考基于腳本語(yǔ)言的框架的應(yīng)用來提供。例如,該調(diào)用可啟用控件、禁用控件、設(shè)置控件的屬性或效果等。在406,可基于如通過調(diào)用管理的控件來生成用戶界面。在408,可基于如通過調(diào)用管理的控件來訪問由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)。
[0050]現(xiàn)在轉(zhuǎn)向圖5,所示的是用于開發(fā)web應(yīng)用的方法500。在502,可展示基于腳本語(yǔ)言的框架的接口,該框架包括被預(yù)編程為在被啟用時(shí)訪問基于云的后端服務(wù)并生成用戶界面的控件集合。在504,可經(jīng)由該接口來接收啟用來自基于腳本語(yǔ)言的框架中所包括的控件集合的控件的調(diào)用。該調(diào)用可由參考基于腳本語(yǔ)言的框架的應(yīng)用來提供。在506,可基于通過調(diào)用啟用的控件來生成用戶界面。在508,可基于通過調(diào)用啟用的控件來訪問由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)。
[0051]現(xiàn)在參考圖6,示出了可以根據(jù)本文公開的系統(tǒng)和方法使用的示例性計(jì)算設(shè)備600的高級(jí)圖示。例如,計(jì)算設(shè)備600可以在使用基于腳本語(yǔ)言的框架來開發(fā)web應(yīng)用的系統(tǒng)中使用。作為另一示例,計(jì)算設(shè)備600可以在執(zhí)行被構(gòu)建在基于腳本語(yǔ)言的框架上的web應(yīng)用的系統(tǒng)中使用。計(jì)算設(shè)備600包括執(zhí)行存儲(chǔ)在存儲(chǔ)器604中的指令的至少一個(gè)處理器602。這些指令可以是例如用于實(shí)現(xiàn)被描述為由上述一個(gè)或多個(gè)組件執(zhí)行的功能的指令或用于實(shí)現(xiàn)上述方法中的一個(gè)或多個(gè)的指令。處理器602可以通過系統(tǒng)總線606訪問存儲(chǔ)器604。除了存儲(chǔ)可執(zhí)行指令之外,存儲(chǔ)器604還可存儲(chǔ)應(yīng)用、基于腳本語(yǔ)言的框架等等。
[0052]計(jì)算設(shè)備600還包括可由處理器602通過系統(tǒng)總線606訪問的數(shù)據(jù)存儲(chǔ)608。數(shù)據(jù)存儲(chǔ)608可包括可執(zhí)行指令、應(yīng)用、基于腳本語(yǔ)言的框架等。計(jì)算設(shè)備600還包括允許外部設(shè)備與計(jì)算設(shè)備600進(jìn)行通信的輸入接口 610。例如,輸入接口 610可被用于從外部計(jì)算機(jī)設(shè)備、從用戶等處接收指令。計(jì)算設(shè)備600也可包括使計(jì)算設(shè)備600和一個(gè)或多個(gè)外部設(shè)備相對(duì)接的輸出接口 612。例如,計(jì)算設(shè)備600可以通過輸出接口 612顯示文本、圖像
坐寸ο
[0053]另外,盡管被示為單個(gè)系統(tǒng),但可以理解,計(jì)算設(shè)備600可以是分布式系統(tǒng)。因此,例如,若干設(shè)備可以通過網(wǎng)絡(luò)連接進(jìn)行通信并且可共同執(zhí)行被描述為由計(jì)算設(shè)備600執(zhí)行的任務(wù)。
[0054]如本文所使用的,術(shù)語(yǔ)“組件”和“系統(tǒng)”旨在包含用使得在被處理器執(zhí)行時(shí)執(zhí)行特定功能的計(jì)算機(jī)可執(zhí)行指令配置的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)。計(jì)算機(jī)可執(zhí)行指令可包括例程、功能等等。還要理解組件或系統(tǒng)可以位于單個(gè)設(shè)備上或分布在若干設(shè)備之間。
[0055]另外,如此處所用的,術(shù)語(yǔ)“示例性”旨在是指“充當(dāng)某事物的圖示或示例”。
[0056]在此所述的各種功能可以以硬件、軟件或其任何組合來實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),則各功能可以作為一條或更多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可由計(jì)算機(jī)訪問的任何可用存儲(chǔ)介質(zhì)。作為示例而非限定,這樣的計(jì)算機(jī)可讀介質(zhì)可包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或能被用來承載或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼且能被計(jì)算機(jī)訪問的任何其他介質(zhì)。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(CD)、激光碟、光碟、數(shù)字多用碟(DVD)、軟盤和藍(lán)光碟(BD),其中盤(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)常常用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。另外,所傳播的信號(hào)不被包括在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的范圍內(nèi)。計(jì)算機(jī)可讀介質(zhì)還包括通信介質(zhì),其包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。連接例如可以是通信介質(zhì)。例如,如果軟件使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)、或諸如紅外線、無(wú)線電、以及微波之類的無(wú)線技術(shù)來從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳輸,則該同軸電纜、光纖電纜、雙絞線、DSL、或諸如紅外線、無(wú)線電、以及微波之類的無(wú)線技術(shù)被包括在通信介質(zhì)的定義中。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0057]以上所描述的包括一個(gè)或多個(gè)實(shí)施例的示例。當(dāng)然,出于描繪前述各方面的目的而描述上述設(shè)備或方法的每個(gè)可以想到修改和改變是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員可以認(rèn)識(shí)到,各方面的許多另外的組合和置換都是可能的。因此,所描述的各方面旨在包括所有這些屬于所附權(quán)利要求書的精神和范圍內(nèi)的改變、修改和變型。此外,就在詳細(xì)描述或權(quán)利要求書中使用術(shù)語(yǔ)“包括”而言,這一術(shù)語(yǔ)旨在以與術(shù)語(yǔ)“包含在被用作權(quán)利要求書中的過渡詞時(shí)所解釋的相似的方式為包含性的。
【權(quán)利要求】
1.一種開發(fā)web應(yīng)用的方法,包括: 展示基于腳本語(yǔ)言的框架的接口; 經(jīng)由所述接口來接收管理所述基于腳本語(yǔ)言的框架中所包括的控件的調(diào)用,其中所述調(diào)用是由參考所述基于腳本語(yǔ)言的框架的應(yīng)用提供的; 基于如通過所述調(diào)用管理的控件來生成用戶界面;以及 基于如通過所述調(diào)用管理的控件來訪問由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述調(diào)用是從所述應(yīng)用中所包括的腳本語(yǔ)言代碼中生成的。
3.如權(quán)利要求1所述的方法,其特征在于,管理所述控件的調(diào)用啟用所述控件或禁用所述控件。
4.如權(quán)利要求1所 述的方法,其特征在于,所述控件在所述基于腳本語(yǔ)言的框架內(nèi)被預(yù)編程為訪問由所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)提供的所述基于云的后端服務(wù)。
5.如權(quán)利要求1所述的方法,其特征在于,還包括基于所述調(diào)用來設(shè)置所述控件的屬性或所述控件的效果中的至少一個(gè)的值。
6.如權(quán)利要求1所述的方法,其特征在于,基于如通過所述調(diào)用管理的控件來訪問由所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)提供的所述基于云的后端服務(wù)還包括以下各項(xiàng)中的至少一個(gè): 基于如通過所述調(diào)用管理的控件來向所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)寫入數(shù)據(jù); 基于如通過所述調(diào)用管理的控件來從所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中讀取數(shù)據(jù); 基于如通過所述調(diào)用管理的控件來搜索所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù);或者 基于如通過所述調(diào)用管理的控件來索引所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)。
7.如權(quán)利要求1所述的方法,其特征在于,基于如通過所述調(diào)用管理的控件來訪問由所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)提供的所述基于云的后端服務(wù)還包括基于如通過所述調(diào)用管理的控件來訪問被集成到所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的第三方服務(wù)。
8.如權(quán)利要求7所述的方法,其特征在于,被集成到所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的所述第三方服務(wù)包括以下各項(xiàng)中的一個(gè)或多個(gè):web搜索服務(wù)、圖像搜索服務(wù)、視頻搜索服務(wù)、社交網(wǎng)絡(luò)服務(wù)、微博服務(wù)、地圖服務(wù)、半結(jié)構(gòu)化數(shù)據(jù)庫(kù)搜索服務(wù)、認(rèn)證服務(wù)或者云平臺(tái)服務(wù)。
9.如權(quán)利要求1所述的方法,其特征在于,還包括基于如通過所述調(diào)用管理的控件來采用被直接集成到所述基于腳本語(yǔ)言的框架中的第三方服務(wù)。
10.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用包括提供管理所述基于腳本語(yǔ)言的框架中所包括的多個(gè)控件的多個(gè)調(diào)用的腳本語(yǔ)言代碼。
11.如權(quán)利要求10所述的方法,其特征在于,還包括在由所述應(yīng)用提供的所述多個(gè)調(diào)用管理的所述多個(gè)控件之間交換信息。
12.如權(quán)利要求10所述的方法,其特征在于,還包括: 將所述多個(gè)控件中的第一控件綁定到來自第一數(shù)據(jù)源的對(duì)象;以及 將所述多個(gè)控件中的第二控件綁定到來自第二數(shù)據(jù)源的對(duì)象。
13.如權(quán)利要求1所述的方法,其特征在于,所述基于腳本語(yǔ)言的框架是客戶機(jī)側(cè)框架。
14.一種基于腳本語(yǔ)言的框架,包括: 被預(yù)編程為在被啟用時(shí)訪問基于云的后端服務(wù)并生成用戶界面的控件集合; 接收管理來自所述集合的控件的調(diào)用的接口組件,其中所述調(diào)用是由參考所述基于腳本語(yǔ)言的框架的應(yīng)用來提供的; 基于如通過所述調(diào)用管理的控件來生成用戶界面的用戶界面(UI)創(chuàng)建組件;以及基于如通過所述調(diào)用管理的控件來訪問由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)的數(shù)據(jù)訪問組件。
15.如權(quán)利要求14所述的基于腳本語(yǔ)言的框架,其特征在于,所述數(shù)據(jù)訪問組件基于如通過所述調(diào)用管理的控件來訪問被集成到所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的第三方服務(wù)。
16.如權(quán)利要求14所述的基于腳本語(yǔ)言的框架,其特征在于,所述數(shù)據(jù)訪問組件基于如通過所述調(diào)用管理的控件來利用被直接集成到所述基于腳本語(yǔ)言的框架中的第三方服務(wù)。
17.如權(quán)利要求14所述的基于腳本語(yǔ)言的框架,其特征在于,還包括在所述集合中的多個(gè)控件之間交換信息的通知組件。
18.如權(quán)利要求14所述的基于腳本語(yǔ)言的框架,其特征在于,還包括定制組件,所述定制組件檢測(cè)其上正在運(yùn)行所述應(yīng)用的客戶機(jī)設(shè)備的能力并根據(jù)所述能力來修改基于所述控件生成的用戶界面。
19.如權(quán)利要求14所述的基于腳本語(yǔ)言的框架,其特征在于,所述數(shù)據(jù)訪問組件執(zhí)行以下操作中的至少一個(gè):基于如通過所述調(diào)用管理的控件來向所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)寫入數(shù)據(jù)、基于如通過所述調(diào)用管理的控件來從所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中讀取數(shù)據(jù)、基于如通過所述調(diào)用管理的控件來搜索所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)、或者基于如通過所述調(diào)用管理的控件來索引所述云平臺(tái)上的所述分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)。
20.一種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被處理器執(zhí)行時(shí)致使所述處理器執(zhí)行動(dòng)作,所述動(dòng)作包括: 展示基于腳本語(yǔ)言的框架的接口,所述基于腳本語(yǔ)言的框架包括被預(yù)編程為在被啟用時(shí)訪問基于云的后端服務(wù)并生成用戶界面的控件集合; 經(jīng)由所述接口來接收啟用來自所述基于腳本語(yǔ)言的框架中所包括的所述控件集合的控件的調(diào)用,其中所述調(diào)用是由參考所述基于腳本語(yǔ)言的框架的應(yīng)用提供的; 基于如通過所述調(diào)用啟用的控件來生成用戶界面;以及 基于如通過所述調(diào)用啟用的控件來訪問由云平臺(tái)上的分布式數(shù)據(jù)存儲(chǔ)提供的基于云的后端服務(wù)。
【文檔編號(hào)】G06F15/16GK103988200SQ201280061101
【公開日】2014年8月13日 申請(qǐng)日期:2012年12月12日 優(yōu)先權(quán)日:2011年12月12日
【發(fā)明者】S·伊克曼, D·拉斯基諾 申請(qǐng)人:微軟公司