Web應(yīng)用程序的跨系統(tǒng)安裝的制作方法
【專(zhuān)利說(shuō)明】WEB應(yīng)用程序的跨系統(tǒng)安裝
[0001]相關(guān)申請(qǐng)案
[0002]本申請(qǐng)案是2012年10月10日申請(qǐng)、標(biāo)題為“WEB應(yīng)用程序的跨系統(tǒng)安裝(CROSSSYSTEM INSTALLAT1N OF WEB APPLICAT1NS) ”的第 13/648,473 號(hào)美國(guó)專(zhuān)利申請(qǐng)案的接續(xù)案且主張對(duì)其的優(yōu)先權(quán),第13/648,473號(hào)美國(guó)專(zhuān)利申請(qǐng)案是2012年9月27日申請(qǐng)、標(biāo)題為“WEB 應(yīng)用程序的跨系統(tǒng)安裝(CROSS SYSTEM INSTALLAT1N OF WEB APPLICAT1NS) ” 的第61/706,292號(hào)美國(guó)臨時(shí)專(zhuān)利申請(qǐng)案的非臨時(shí)案且主張對(duì)其的優(yōu)先權(quán),所述專(zhuān)利申請(qǐng)案兩者特此以全文引用方式并入本文中。
技術(shù)領(lǐng)域
[0003]本發(fā)明大體來(lái)說(shuō)涉及作為本機(jī)應(yīng)用程序操作但使用web技術(shù)編程的應(yīng)用程序的跨系統(tǒng)安裝。
【背景技術(shù)】
[0004]通常,人們必須使用特定種類(lèi)的操作系統(tǒng)或web瀏覽器來(lái)訪問(wèn)web商店或數(shù)字市場(chǎng)。然而,人們可能希望使用任何種類(lèi)的操作系統(tǒng)或web瀏覽器來(lái)訪問(wèn)web商店或數(shù)字市場(chǎng),且人們希望不管操作系統(tǒng)或?yàn)g覽器的類(lèi)型如何均能夠從數(shù)字市場(chǎng)下載應(yīng)用程序。人們還贊賞在客戶端計(jì)算機(jī)上“本機(jī)地”運(yùn)行應(yīng)用程序的能力。然而,典型的web應(yīng)用程序并不提供對(duì)本地系統(tǒng)資源(例如文件系統(tǒng)、本機(jī)窗口、圖形處理器、麥克風(fēng)、攝像機(jī))的訪問(wèn),且因此可能具有若干限制。一般來(lái)說(shuō),web應(yīng)用程序具有較具限制性的安全模型,這限制了web應(yīng)用程序能夠訪問(wèn)本地系統(tǒng)資源的多少。
[0005]對(duì)于開(kāi)發(fā)者來(lái)說(shuō),不需要其使用單獨(dú)的編程技術(shù)或開(kāi)發(fā)應(yīng)用程序的許多不同版本便能使所述應(yīng)用程序在不同操作系統(tǒng)平臺(tái)(例如,WINDOWS、MAC或LINUX)上運(yùn)行也可證明是有利的。通常,開(kāi)發(fā)者需要針對(duì)每一平臺(tái)構(gòu)建一應(yīng)用程序。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),那些相同的應(yīng)用程序也可在web上運(yùn)行且可經(jīng)由任何種類(lèi)的web瀏覽器下載是有利的。此外,開(kāi)發(fā)者可能希望使用JAVASCRIPT、HTML、CSS或其它web技術(shù)來(lái)開(kāi)發(fā)可在計(jì)算機(jī)及移動(dòng)裝置上本機(jī)地操作的應(yīng)用程序。開(kāi)發(fā)者還可希望使那些相同的應(yīng)用程序能夠經(jīng)由web瀏覽器作為web應(yīng)用程序而操作以及能夠本機(jī)地操作且因此具有對(duì)至少一些本機(jī)資源的訪問(wèn)權(quán)。因此,需要用以解決目前技術(shù)的不足且提供其它新穎及創(chuàng)新特征的系統(tǒng)及方法。
【發(fā)明內(nèi)容】
[0006]一種用于提供應(yīng)用程序的跨系統(tǒng)安裝的方法及系統(tǒng)包含:經(jīng)由服務(wù)器提供僅用web技術(shù)編碼的本機(jī)操作的應(yīng)用程序以供安裝;及提供單一運(yùn)行時(shí)間環(huán)境以供安裝,所述單一運(yùn)行時(shí)間環(huán)境為所述本機(jī)操作的應(yīng)用程序提供對(duì)web應(yīng)用程序不能獲得的計(jì)算機(jī)系統(tǒng)級(jí)服務(wù)的訪問(wèn)權(quán)。所述單一運(yùn)行時(shí)間環(huán)境可控制所述本機(jī)操作的應(yīng)用程序的安裝及卸載,且所述本機(jī)操作的應(yīng)用程序經(jīng)配置以獨(dú)立于web瀏覽器而執(zhí)行。
[0007]在附圖及下文說(shuō)明中陳述一或多個(gè)實(shí)施方案的細(xì)節(jié)。從所述說(shuō)明及圖式且從權(quán)利要求書(shū)將明了其它特征。
【附圖說(shuō)明】
[0008]圖1是用于web應(yīng)用程序的跨系統(tǒng)安裝的系統(tǒng)的示意圖。
[0009]圖2是使用多進(jìn)程配置的運(yùn)行時(shí)間的實(shí)例性框圖。
[0010]圖3是用于本機(jī)應(yīng)用程序、本機(jī)操作的應(yīng)用程序及web應(yīng)用程序的用戶接口的實(shí)例的圖。
[0011]圖4A是用于web應(yīng)用程序的跨系統(tǒng)安裝的過(guò)程的流程圖。
[0012]圖4B是本機(jī)操作的應(yīng)用程序的壽命循環(huán)的流程圖。
[0013]圖5展示可用于實(shí)施本文所描述的技術(shù)的計(jì)算機(jī)裝置及移動(dòng)計(jì)算機(jī)裝置的實(shí)例。
[0014]在各圖式中,相似的參考符號(hào)指示相似的元件。
【具體實(shí)施方式】
[0015]本文所描述的系統(tǒng)及方法允許對(duì)用web技術(shù)(例如HTML、JavaScript、CSS等)編碼的本機(jī)操作的應(yīng)用程序的跨系統(tǒng)安裝。所述本機(jī)操作的應(yīng)用程序可經(jīng)由本地安裝于客戶端計(jì)算機(jī)上的單一運(yùn)行時(shí)間環(huán)境而操作。所述本機(jī)操作的應(yīng)用程序可提供對(duì)本地機(jī)器資源的訪問(wèn)權(quán),且還可提供對(duì)其它web服務(wù)(例如云存儲(chǔ)、web文檔編輯或照片編輯)的訪問(wèn)權(quán)。由于所述本機(jī)操作的應(yīng)用程序是用web技術(shù)編碼的,因此其還可經(jīng)配置(例如,經(jīng)封裝)以在web瀏覽器中運(yùn)行而不需要來(lái)自開(kāi)發(fā)者的進(jìn)一步編碼。每當(dāng)安裝單一運(yùn)行時(shí)間時(shí),就可從任何瀏覽器下載本機(jī)操作的應(yīng)用程序并將其安裝于任何操作系統(tǒng)上。所述瀏覽器可在安裝本機(jī)操作的應(yīng)用程序之前自動(dòng)地確定所述單一運(yùn)行時(shí)間是否已安裝于計(jì)算機(jī)上。如果所述單一運(yùn)行時(shí)間尚未被安裝,那么瀏覽器可自動(dòng)地安裝所述單一運(yùn)行時(shí)間,舉例來(lái)說(shuō),通過(guò)包含所述應(yīng)用程序及運(yùn)行時(shí)間的單一下載。所述運(yùn)行時(shí)間使用多進(jìn)程架構(gòu)而操作,且將所述本機(jī)操作的應(yīng)用程序安裝于沙盒中,使得當(dāng)卸載所述本機(jī)操作的應(yīng)用程序時(shí),其被完全從客戶端計(jì)算機(jī)移除。
[0016]圖1是可提供web應(yīng)用程序的跨系統(tǒng)安裝的系統(tǒng)100的實(shí)例性實(shí)施例的示意性框圖。在各種實(shí)施方案中,系統(tǒng)100可包含客戶端計(jì)算裝置102A、102B、102C(例如桌上型計(jì)算機(jī)、筆記本型計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)、平板計(jì)算機(jī)、智能電話等)。客戶端計(jì)算裝置102A可包含一或多個(gè)處理器(CPU) 104及一或多個(gè)存儲(chǔ)器106。客戶端計(jì)算裝置102A可執(zhí)行操作系統(tǒng)(0/S)108、運(yùn)行時(shí)間120及可顯示用戶接口窗口(例如,web瀏覽器112)的各種應(yīng)用程序110、124及126??蛻舳擞?jì)算裝置102A可包含高速緩沖存儲(chǔ)器118??蛻舳擞?jì)算裝置102A可包含本機(jī)操作的應(yīng)用程序124以及一或多個(gè)本機(jī)應(yīng)用程序126。應(yīng)用程序110是本機(jī)應(yīng)用程序的另一實(shí)例,且應(yīng)用程序110的用戶接口窗口 112是web瀏覽器。本機(jī)應(yīng)用程序126的其它實(shí)例包含字處理應(yīng)用程序、圖像編輯應(yīng)用程序、電子郵件應(yīng)用程序、媒體播放器、計(jì)算器等。
[0017]“本機(jī)操作的應(yīng)用程序” 124是僅使用web技術(shù)(例如HTML、JAVASCRIPT或CSS)編碼(本文定義為可由web瀏覽器直接實(shí)施的代碼)的應(yīng)用程序,但其為看起來(lái)像且表現(xiàn)得像本機(jī)應(yīng)用程序(且不束縛于web瀏覽器)且具有web應(yīng)用程序無(wú)法獲得的類(lèi)本機(jī)能力的應(yīng)用程序。本機(jī)操作的應(yīng)用程序124也可在web瀏覽器(例如web瀏覽器112)中運(yùn)行。
[0018]本機(jī)操作的應(yīng)用程序124可經(jīng)由web瀏覽器(例如web瀏覽器112)從市場(chǎng)服務(wù)器150下載且可安裝于客戶端計(jì)算裝置102A上。本機(jī)操作的應(yīng)用程序124可使用下文更詳細(xì)描述的運(yùn)行時(shí)間120來(lái)操作。舉例來(lái)說(shuō),本機(jī)操作的應(yīng)用程序124可經(jīng)配置以直接由客戶端裝置的處理器104使用運(yùn)行時(shí)間120來(lái)執(zhí)行。由于本機(jī)操作的應(yīng)用程序124是用web技術(shù)編碼的,因此不需要編譯步驟。而是,本機(jī)操作的應(yīng)用程序124可簡(jiǎn)單地經(jīng)封裝(例如,以.CRX格式,或例如以某一簽名或驗(yàn)證被壓縮)并例如經(jīng)由web瀏覽器112從數(shù)字市場(chǎng)(例如市場(chǎng)服務(wù)器150)提供到客戶端計(jì)算裝置102A,如下文更詳細(xì)地描述。運(yùn)行時(shí)間120可接受作為經(jīng)封裝文件(例如,.CRX文件)的本機(jī)操作的應(yīng)用程序124且接著執(zhí)行本機(jī)操作的應(yīng)用程序124。舉例來(lái)說(shuō),本機(jī)操作的應(yīng)用程序124可進(jìn)行本地加載,使得其并不像web應(yīng)用程序那樣依賴于網(wǎng)絡(luò)。
[0019]運(yùn)行時(shí)間120可為在本機(jī)0/S 108上面操作且使用多進(jìn)程架構(gòu)的環(huán)境。因此,如果一個(gè)本機(jī)操作的應(yīng)用程序124崩潰,那么用戶將不會(huì)丟失同時(shí)也經(jīng)由運(yùn)行時(shí)間120運(yùn)行的其它本機(jī)操作的應(yīng)用程序。每一應(yīng)用程序作為新進(jìn)程在單一運(yùn)行時(shí)間上操作,如下文關(guān)于圖2更詳細(xì)地描述。
[0020]運(yùn)行時(shí)間120可充當(dāng)允許本機(jī)操作的應(yīng)用程序124在使用任何操作系統(tǒng)的任何計(jì)算裝置上運(yùn)行的中介環(huán)境,只要運(yùn)行時(shí)間120安裝于所述計(jì)算裝置(例如計(jì)算裝置102A)上即可。運(yùn)行時(shí)間120可允許本機(jī)操作的應(yīng)用程序124在本機(jī)操作的應(yīng)用程序124并不實(shí)際上通過(guò)O/S 108(但仍可能夠訪問(wèn)0/S 108的部分)執(zhí)行的同時(shí)顯現(xiàn)為猶如其是本機(jī)應(yīng)用程序一樣。在一些實(shí)施方案中,運(yùn)行時(shí)間120還可用于執(zhí)行應(yīng)用程序110(包含web瀏覽器 112)。
[0021]運(yùn)行時(shí)間120本身也可經(jīng)由web瀏覽器(例如web瀏覽器112)從市場(chǎng)服務(wù)器150(或另一服務(wù)器)下載且可安裝于客戶端計(jì)算裝置102A上。在一些實(shí)施方案中,在安裝本機(jī)操作的應(yīng)用程序124時(shí),運(yùn)行時(shí)間120可能已安裝于客戶端計(jì)算裝置102A上。在其它實(shí)施方案中,運(yùn)行時(shí)間120可與本機(jī)操作的應(yīng)用程序124捆綁在單一下載中,及/或在本機(jī)操作的應(yīng)用程序124的安裝之前被下載或安裝。
[0022]本機(jī)操作的應(yīng)用程序124可經(jīng)由運(yùn)行時(shí)間120訪問(wèn)網(wǎng)絡(luò)190,且還可訪問(wèn)客戶端計(jì)算機(jī)的一或多個(gè)本機(jī)資源122。本機(jī)資源122可包含計(jì)算裝置102A中所包含或本地連接到計(jì)算裝置102A的任何種類(lèi)的資源。舉例來(lái)說(shuō),本機(jī)資源122可包含本機(jī)窗口(例如,在web瀏覽器標(biāo)簽之外的任何窗口)、圖形處理單元(GPU)、web攝像機(jī)、圖形卡、麥克風(fēng)、打印機(jī)、包含文檔、圖像、其它媒體的文件系統(tǒng),或其它資源,例如連接到計(jì)算裝置102A的裝置102D。本機(jī)操作的應(yīng)用程序124可類(lèi)似于web應(yīng)用程序(下文更詳細(xì)地對(duì)其進(jìn)行描述)而用web技術(shù)編碼,但與web應(yīng)用程序相比,本機(jī)操作的應(yīng)用程序124可訪問(wèn)客戶端計(jì)算裝置122的本機(jī)資源122。
[0023]本機(jī)操作的應(yīng)用程序124可默認(rèn)地進(jìn)行離線操作。本機(jī)操作的應(yīng)用程序124也可進(jìn)行本地加載。在一些實(shí)施方案中,一旦用戶安裝本機(jī)操作的應(yīng)用程序124,所述用戶便可以完全控制本機(jī)操作的應(yīng)用程序124的壽命循環(huán)。本機(jī)操作的應(yīng)用程序124的壽命循環(huán)獨(dú)立于web瀏覽器窗口或網(wǎng)絡(luò)連接。下文關(guān)于圖4B更詳細(xì)地描述本機(jī)操作的應(yīng)用程序的壽命循環(huán)。本機(jī)操作的應(yīng)用程序124可快速打開(kāi)及關(guān)閉,且系統(tǒng)100可在任何時(shí)間關(guān)停本機(jī)操作的應(yīng)用程序124以改進(jìn)性能(舉例來(lái)說(shuō),