使用運(yùn)行時間120)。用戶可完全卸載本機(jī)操作的應(yīng)用程序124。在一些實(shí)施方案中,可在本機(jī)操作的應(yīng)用程序124離線時將與本機(jī)操作的應(yīng)用程序124有關(guān)的用戶數(shù)據(jù)本地存儲于(例如)存儲器106中且一旦客戶端計(jì)算裝置102A的用戶在線便接著將所述用戶數(shù)據(jù)同步(在用戶賦予權(quán)限的情況下)到數(shù)據(jù)服務(wù)器(例如,服務(wù)器130或同步服務(wù)器170)。
[0024]另外,本機(jī)操作的應(yīng)用程序124可訪問可經(jīng)由遠(yuǎn)程服務(wù)器訪問的各種遠(yuǎn)程服務(wù)140??山?jīng)由運(yùn)行時間120所托管的各種JavaScript API而獲得對此類服務(wù)140的訪問權(quán)。
[0025]API還可用于其它能力。此類API不可用于web應(yīng)用程序、網(wǎng)站或本機(jī)應(yīng)用程序。舉例來說,共享數(shù)據(jù)API可給本機(jī)操作的應(yīng)用程序124提供對計(jì)算裝置102A上的數(shù)據(jù)的訪問權(quán),其中此訪問是以調(diào)解方式提供的,使得本機(jī)操作的應(yīng)用程序124可訪問聯(lián)系人、圖像、照片、媒體、視頻、音樂或電影(作為實(shí)例)。此訪問是經(jīng)由共享數(shù)據(jù)API提供的。另外,裝置能力API可給本機(jī)操作的應(yīng)用程序124提供對連接到計(jì)算裝置102A的硬件裝置(例如USB裝置端口或藍(lán)牙裝置)的訪問權(quán)。本機(jī)操作的應(yīng)用程序124可連接到USB裝置,且從用戶的串行端口讀取或向其寫入,例如以將消息發(fā)送到連接到本地計(jì)算裝置102A的任何裝置,例如裝置102D。另外,服務(wù)API可為本機(jī)操作的應(yīng)用程序124提供支付、身份或其它服務(wù)。
[0026]如圖1中所展示,系統(tǒng)100可包含服務(wù)器130,服務(wù)器130包含一或多個處理器132、一或多個存儲器134、操作系統(tǒng)136及服務(wù)140。舉例來說,服務(wù)140可經(jīng)由服務(wù)器130獲得且經(jīng)由運(yùn)行時間120所托管的API來訪問。如上文所論述,服務(wù)可包含(作為實(shí)例)支付或身份服務(wù)。舉例來說,用戶可利用身份服務(wù)來為本機(jī)操作的應(yīng)用程序124賦予對訪問用戶身份的權(quán)限,而不需要用戶在每次用戶運(yùn)行本機(jī)操作的應(yīng)用程序124時重新輸入身份信息。類似地,用戶可利用支付服務(wù)來為本機(jī)操作的應(yīng)用程序124賦予對訪問用戶支付信息的權(quán)限,而不需要用戶在每次用戶運(yùn)行本機(jī)操作的應(yīng)用程序124時重新輸入此支付信息。
[0027]由運(yùn)行時間120向本機(jī)操作的應(yīng)用程序124公開的API還可包含共享數(shù)據(jù)能力,這可允許用戶利用本機(jī)操作的應(yīng)用程序124將數(shù)據(jù)上載到服務(wù)器(例如服務(wù)器130)(或從所述服務(wù)器下載數(shù)據(jù))。共享數(shù)據(jù)能力的實(shí)例可包含數(shù)據(jù)上載或存儲服務(wù),例如允許用戶經(jīng)由本機(jī)操作的應(yīng)用程序124從客戶端計(jì)算裝置102A上載照片。所述照片可經(jīng)上載以在遠(yuǎn)程服務(wù)器(例如服務(wù)器130)上提供備份存儲。舉例來說,在一個實(shí)施方案中,本機(jī)操作的應(yīng)用程序124可使用通過JavaScript API公開的能力且在不需要來自用戶的額外輸入的情況下(然而,在用戶先前賦予權(quán)限的情況下)自動地訪問存儲于存儲器106的一部分中的照片。本機(jī)操作的應(yīng)用程序124可使用API自動地僅訪問照片而不訪問其它類型的文件(例如,基于文件類型、文件名稱、文件大小或其它準(zhǔn)則),且還可自動地將照片上載(在用戶賦予權(quán)限的情況下)到與用戶相關(guān)聯(lián)的帳戶。舉例來說,可使用網(wǎng)絡(luò)190將照片上載到服務(wù)器130。
[0028]還可通過共享數(shù)據(jù)API公開其它能力,例如以提供對媒體庫、音樂、電影或文檔的訪問權(quán)。舉例來說,音樂相關(guān)本機(jī)操作的應(yīng)用程序可僅訪問文件系統(tǒng)的含有音樂的一部分,使得所述應(yīng)用程序可對音樂進(jìn)行某些操作,例如使音樂與用戶帳戶同步。使用共享數(shù)據(jù)API,本機(jī)操作的應(yīng)用程序124可請求對裝置102A上的所有音樂的訪問權(quán)。所述API可確定裝置102A上存儲了何種音樂,且所述應(yīng)用程序可取得所述音樂并將其同步到遠(yuǎn)程服務(wù)器(例如,服務(wù)器130)。本機(jī)操作的應(yīng)用程序124不需要單獨(dú)的插件來取得音樂并使其同步,但本機(jī)操作的應(yīng)用程序124可歸因于由運(yùn)行時間120控制的進(jìn)程隔離而以安全方式從本地系統(tǒng)讀取文件或向其寫入文件,如下文關(guān)于圖2更詳細(xì)地論述。
[0029]又一些API可包含裝置能力API,其可允許本機(jī)操作的應(yīng)用程序124具有對web應(yīng)用程序通常可能不能訪問的裝置的訪問權(quán)。舉例來說,本機(jī)操作的應(yīng)用程序124可具有USB訪問權(quán)、原始網(wǎng)絡(luò)訪問權(quán)或藍(lán)牙裝置訪問權(quán)(作為實(shí)例)。
[0030]在各種實(shí)施方案中,web瀏覽器112可包含一或多個web應(yīng)用程序128或與其相關(guān)聯(lián)。在此上下文中,“web應(yīng)用程序”可經(jīng)配置以為用戶執(zhí)行單一任務(wù)或多個任務(wù)。在此實(shí)施方案中,web應(yīng)用程序可經(jīng)配置以由web瀏覽器執(zhí)行或解釋。這與包含機(jī)器可執(zhí)行代碼且經(jīng)配置以由處理器直接執(zhí)行或經(jīng)由客戶端裝置的操作系統(tǒng)而執(zhí)行的本機(jī)應(yīng)用程序(例如,本機(jī)應(yīng)用程序126)相當(dāng),然而,web應(yīng)用程序在不借助web瀏覽器的情況下可不能夠執(zhí)行或顯示。這也與不需要web瀏覽器的本機(jī)操作的應(yīng)用程序124相當(dāng)。因此,web應(yīng)用程序是在具有專用用戶接口的瀏覽器內(nèi)部運(yùn)行的,且通常提供比獨(dú)立網(wǎng)站更豐富且更具交互性但繁瑣性及整體性優(yōu)于本機(jī)應(yīng)用程序126的功能性及體驗(yàn)。web應(yīng)用程序的實(shí)例包含在web瀏覽器112內(nèi)部運(yùn)行的游戲、照片編輯器及視頻播放器。
[0031]web應(yīng)用程序可包含網(wǎng)站的其自身包含網(wǎng)頁的至少一部分加上可尤其與web應(yīng)用程序有關(guān)或與web應(yīng)用程序的用戶有關(guān)以允許web應(yīng)用程序?yàn)橛脩魣?zhí)行某一特定功能性的一些元數(shù)據(jù)。
[0032]在各種實(shí)施方案中,web瀏覽器可包含一或多個瀏覽器擴(kuò)展或經(jīng)配置以與一或多個瀏覽器擴(kuò)展交互。在此上下文中,“瀏覽器擴(kuò)展”可包含作為可定義整體而封裝或分組在一起且經(jīng)配置以將功能性擴(kuò)展到web瀏覽器的一或多個網(wǎng)頁。因此,擴(kuò)展還給瀏覽器提供額外功能性,但通常,不同于應(yīng)用程序,存在極少或不存在針對由擴(kuò)展提供的功能性的用戶接口組件。實(shí)情是,web擴(kuò)展會擴(kuò)展瀏覽器及正在其中觀看的網(wǎng)站的功能性。舉例來說,web擴(kuò)展可通過將新按鈕添加到地址欄(例如始終存在的貨幣轉(zhuǎn)換器)而擴(kuò)展瀏覽器的功能性。類似此的按鈕還可適用于正觀看的當(dāng)前網(wǎng)站一舉例來說,點(diǎn)擊貨幣轉(zhuǎn)換器按鈕可將呈現(xiàn)給用戶的網(wǎng)站上的所有價(jià)格轉(zhuǎn)換為用戶選擇的貨幣。在另一實(shí)例中,擴(kuò)展可經(jīng)安裝使得在用戶將光標(biāo)懸停在由瀏覽器執(zhí)行的網(wǎng)頁上的縮略圖圖像上時,會顯示圖像的較大大小的版本直到用戶將光標(biāo)移離圖像為止。在另一實(shí)例中,且擴(kuò)展可經(jīng)安裝以在每一頁中的每一鏈接旁嵌入“將此用郵件發(fā)送”按鈕。與web應(yīng)用程序相比,擴(kuò)展徑直跨越網(wǎng)站及web應(yīng)用程序。實(shí)際上,擴(kuò)展通??缭剿芯W(wǎng)站(但一些網(wǎng)站是站點(diǎn)特有的)。以此方式,web應(yīng)用程序不與其它應(yīng)用程序組合。而是,web應(yīng)用程序如任何常規(guī)網(wǎng)站一樣獨(dú)立地運(yùn)行??上螺dweb瀏覽器擴(kuò)展及應(yīng)用程序以供安裝于客戶端計(jì)算裝置中并由在所述客戶端計(jì)算裝置上運(yùn)行的瀏覽器執(zhí)行。
[0033]在一個實(shí)施方案中,客戶端計(jì)算裝置102A可運(yùn)行或致使操作系統(tǒng)108來執(zhí)行應(yīng)用程序110或web瀏覽器112。在各種實(shí)施方案中,此web瀏覽器112可包含多個平面或標(biāo)簽114A、114B、114C。web瀏覽器112可為含有某種類用戶接口的視覺區(qū)域(通常為矩形的)。在客戶端裝置102A中所使用的圖形用戶接口(GUI)中,web瀏覽器112可為布置于稱為桌面的⑶I的平面上的二維對象。web瀏覽器112可包含可稱為web瀏覽器的“鑲邊(chrome) ”的其它圖形對象,例如,菜單欄、工具欄、控件、圖標(biāo)。web瀏覽器還可包含其中可顯示文檔、圖像、文件夾內(nèi)容或其它主對象(例如,web應(yīng)用程序128)的工作區(qū)域。所述工作區(qū)域可能夠保持僅一個主對象(即,在單一文檔接口中)或在多個文檔接口中保持一個以上主對象。在一些應(yīng)用程序(具體來說是web瀏覽器)中,可在個別標(biāo)簽114A、114B、114C中顯示多個文檔。這些標(biāo)簽114A、114B、114C通常是一次一個地顯示,且可經(jīng)由通常駐存于個別窗口的內(nèi)容上面的標(biāo)簽欄而選擇。也就是說,一個選定標(biāo)簽114A是“面向正面”的且在web瀏覽器112中向用戶顯示信息或內(nèi)容,其中其它標(biāo)簽114B、114C的內(nèi)容是“隱藏”的。標(biāo)簽114A、114B及114C可在單獨(dú)進(jìn)程中執(zhí)行,每一進(jìn)程均具有其自己的個別存儲器。
[0034]客戶端計(jì)算裝置102A、102B、102C可從可通過網(wǎng)絡(luò)190連接到客戶端裝置102的一或多個服務(wù)器計(jì)算裝置130、150、170接收在線內(nèi)容。在一些實(shí)施方案中,可在web瀏覽器112中(例如,在web瀏覽器112的一個標(biāo)簽114中)處理并顯示所接收在線內(nèi)容。舉例來說,web瀏覽器112可向用戶顯示數(shù)字商品市場的用戶接口,類似于本文中所描述的市場的用戶接口。
[0035]客戶端計(jì)算裝置102A可與數(shù)字商品市場服務(wù)器150通信,數(shù)字商品市場服務(wù)器150向客戶端計(jì)算裝置102A、102B、102C提供數(shù)字商品市場。市場服務(wù)器150可包含一或多個處理器152及一或多個存儲器154。市場服務(wù)器150可執(zhí)行操作系統(tǒng)以及各種應(yīng)用程序及服務(wù)以向客戶端計(jì)算裝置提供功能性。舉例來說,在一個實(shí)施方案中,市場服務(wù)器150可包含數(shù)字商品數(shù)據(jù)庫158的存儲庫,且可從所述存儲庫向客戶端計(jì)算裝置供應(yīng)或下載數(shù)字商品。在另一實(shí)施方案中,數(shù)字商品可被存儲于遠(yuǎn)離市場服務(wù)器定位的存儲庫中,且從所述存儲庫供應(yīng)到客戶端計(jì)算裝置。舉例來說,數(shù)字商品可被存儲于由所述數(shù)字商品的開發(fā)者操作及控制的個別存儲庫并從所述存儲庫供應(yīng)到客戶端計(jì)算裝置,且市場服務(wù)器150的數(shù)字商品存儲庫158可僅提供對由開發(fā)者操作的個別存儲庫的參考。
[0036]可在選擇性加入的基礎(chǔ)上提供由在客戶端裝置上運(yùn)行的應(yīng)用程序110提供到市場服務(wù)器150的信息(例如,關(guān)于計(jì)算裝置102A的類型或能力等)。換句話說,只有客戶端計(jì)算裝置102A的用戶具體授權(quán)此信息從客戶端到服務(wù)器的傳輸時,才可將此信息從所述客戶端裝置提供到服務(wù)器150。另外,在將信息發(fā)送到市場服務(wù)器150之前,可將其匿名。
[0037]如圖1中所展示,系統(tǒng)100還可包含同步服務(wù)器170,同步服務(wù)器170包含