網(wǎng)絡應用與本地應用之間的渲染委托的制作方法
【專利說明】
【背景技術】
[0001]嵌入在本地應用中或者由本地應用使用的網(wǎng)絡控件經(jīng)常不提供無縫體驗。例如,在本地應用中顯示的網(wǎng)絡內(nèi)容可以不具有與本地控件中相同的外觀和感覺。此外,網(wǎng)絡控件內(nèi)的交互性經(jīng)常感覺脫節(jié),產(chǎn)生了與其余本地應用分離的體驗,這是因為視覺指示器由網(wǎng)絡內(nèi)容提供,而不是由本地應用提供。
[0002]關于這些考慮以及其他的考慮,提供了此處給出的公開內(nèi)容。
【發(fā)明內(nèi)容】
[0003]本文描述了用于在本地應用所渲染的網(wǎng)絡控件與本地應用所提供的本地指示器之間轉移應用狀態(tài)和渲染控件(“應用狀態(tài)”)的概念和技術?!皯脿顟B(tài)”是指從其中渲染信息的“應用層級”?!皯脤蛹墶笨梢园ū镜貞?其可以是一個層級),以及嵌入應用,諸如網(wǎng)絡控件,(其為不同的層級)。
[0004]根據(jù)本文所公開的一些概念和技術,當發(fā)起功能請求時,當前公開的主題將應用狀態(tài)從由本地應用所渲染的網(wǎng)絡控件轉移到由本地應用所提供的本地指示器。當功能請求完成時,或者在另一適當?shù)臅r間,將應用狀態(tài)轉移回到網(wǎng)絡控件。在一些實現(xiàn)方式中,本地指示器可以是視覺、觸覺或聽覺指示器。在另外的實現(xiàn)方式中,當將應用狀態(tài)轉移到本地應用時,網(wǎng)絡控件可以提供與由本地應用所提供的本地指示器相結合的指示器或者其他視覺?目息。
[0005]應當意識到的是,上述主題還可以被實現(xiàn)為計算機控制的裝置、計算機過程、計算系統(tǒng)或者被實現(xiàn)為諸如計算機可讀存儲介質之類的制品。通過閱讀下面的【具體實施方式】以及相關附圖的閱覽,這些特征以及各種其他特征將是顯而易見的。
[0006]提供該
【發(fā)明內(nèi)容】
以便以下文在【具體實施方式】中進一步描述的簡化形式來引入一系列概念。該
【發(fā)明內(nèi)容】
不是旨在標識出所要求的主題的關鍵特征或重要特征,也不旨在使用該
【發(fā)明內(nèi)容】
來限定所要求的主題的范圍。此外,所要求的主題不限于解決在本公開的任意部分中提到的任何或全部缺點的實現(xiàn)方式。
【附圖說明】
[0007]圖1是示出可用于實現(xiàn)本文所公開的各個實施例的示例性的操作環(huán)境的系統(tǒng)圖。
[0008]圖2A-2C是圖示出根據(jù)一些實施例的顯示視覺控制從網(wǎng)絡控件轉移到本地應用的顯示器的各方面的示例性的屏幕圖。
[0009]圖3是示出根據(jù)一些實施例的用于在網(wǎng)絡控件與本地應用之間轉移應用狀態(tài)的方法的各方面的流程圖。
[0010]圖4是示出根據(jù)一些實施例的能夠執(zhí)行本文所提供的軟件組件的設備的各方面的計算機體系結構圖。
[0011]圖5是圖示出根據(jù)一些實施例的能夠實現(xiàn)本文所提供的實施例的各方面的分布式計算環(huán)境的各方面的網(wǎng)絡圖。
[0012]圖6是示出能夠實現(xiàn)本文所提供的實施例的各方面的計算設備體系結構的各方面的計算機體系結構圖。
【具體實施方式】
[0013]下面的【具體實施方式】涉及用于當發(fā)起功能請求時將應用狀態(tài)從由本地應用所渲染的網(wǎng)絡控件轉移到由本地應用所提供的本地指示器以及轉移回到網(wǎng)絡控件的技術。當將功能請求發(fā)送到向執(zhí)行本地應用的本地計算機提供數(shù)據(jù)的遠程服務器時,應用狀態(tài)(其可以包括呈現(xiàn)給用戶且在顯示器中渲染的視覺信息)從網(wǎng)絡控件轉移到本地應用,所述本地應用提供本地指示器。
[0014]雖然不局限于任何特定的益處,在一些配置中轉移應用狀態(tài)可以具有若干益處。例如,當與遠程服務器所提供的網(wǎng)絡內(nèi)容交互時,可以更精確地控制響應時間和提供給用戶的反饋。對于網(wǎng)絡內(nèi)容本身的控制層級也可以提高。此外,諸如視覺、觸覺等反饋方式可以經(jīng)過修改或調(diào)整而適合用戶的需要或偏好。另外,應用狀態(tài)的轉移可以允許遠程服務器提供內(nèi)容而本地應用通過網(wǎng)絡控件來渲染內(nèi)容以保持非耦合,而仍提供兩者之間的相對無縫層級的交互。
[0015]雖然本文所描述的主題是在與計算機系統(tǒng)上的操作系統(tǒng)和應用程序的執(zhí)行相結合而執(zhí)行的程序模塊的一般背景下呈現(xiàn)的,但是本領域技術人員將認識到可以與其他類型的程序模塊相結合來執(zhí)行其他的實現(xiàn)方式。一般地,程序模塊包括例程、程序、組件、數(shù)據(jù)結構以及執(zhí)行特定任務或實現(xiàn)特定的抽象數(shù)據(jù)類型的其他類型的結構。而且,本領域技術人員將意識到,本文所描述的主題可以利用其他的計算機系統(tǒng)配置來實踐,其他的計算機系統(tǒng)配置包括手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、小型計算機、大型計算機等。
[0016]在下面的【具體實施方式】中,參考了附圖,附圖構成【具體實施方式】的一部分,并且在附圖中通過示例性具體實施例或示例的方式示出?,F(xiàn)在參考附圖,將呈現(xiàn)計算系統(tǒng)、計算機可讀存儲介質以及用于轉移應用狀態(tài)的計算機實現(xiàn)方法和其他方面的各方面。
[0017]現(xiàn)在參考圖1,將對用于實現(xiàn)本文呈現(xiàn)的各個實施例的操作環(huán)境100的各方面進行描述。圖1所示的操作環(huán)境100包括在網(wǎng)絡104上運行或者與網(wǎng)絡104通信的計算設備102。計算設備102可以是桌面式計算機、膝上型計算機、筆記本計算機、超便攜計算機、上網(wǎng)本計算機或諸如移動電話、平板設備、板式設備、便攜式視頻游戲設備等的計算設備。下面參考圖4-6來示出和描述用于實現(xiàn)計算設備102的若干示例性的體系結構。應當理解的是,本文所公開的概念和技術不限于連接到網(wǎng)絡或任何外部計算系統(tǒng)的操作環(huán)境,因為本文所公開的概念和技術的各個實施例可以在計算設備102上本地地實現(xiàn)。
[0018]操作系統(tǒng)106在計算設備102上執(zhí)行。操作系統(tǒng)106是計算設備102上用于控制功能的可執(zhí)行程序。計算設備102還能夠執(zhí)行本地應用108。雖然當前公開的主題不限于適配在任何行業(yè)中使用的任何一個特定定義或術語內(nèi)的應用,但是本文所使用的本地應用可以是指利用特定編程語言編碼的應用。本地應用典型地設計成快速的且可靠的。一些本地應用可以綁定到移動平臺。例如,幾乎所有的創(chuàng)建用于在平板設備或智能電話設備上執(zhí)行的游戲都是本地應用。本地應用可以根據(jù)其他通常類型的應用來區(qū)分,諸如混合應用、專用網(wǎng)絡應用以及通用的移動應用。
[0019]混合應用可被設計成依賴于開發(fā)架構?;旌蠎眠€可以被設計成確保交叉平臺兼容性且按如下方式:混合應用能夠訪問混合應用正在其上執(zhí)行的設備的硬件,例如照相機。相比之下,專用網(wǎng)絡應用是網(wǎng)站,通常用于移動設備,其定制為特定的平臺或形狀因子。
[0020]通用移動應用可以是被設計成與大多數(shù)(如果不是全部)的開啟互聯(lián)網(wǎng)的設備一起工作。應當理解的是,雖然當前公開的主題的各方面可以按照“本地”應用來描述,但術語“本地”的使用不意圖將本地應用108限制為符合上述提供的類別中的僅一個類別的應用,這是因為包括本地應用108在內(nèi)的一些應用可以具有符合上述類別中的一個或多個類別的特征。
[0021]在一些示例中,本地應用108可以是但不限于作為華盛頓的雷德蒙的微軟公司(Microsoft Corporat1n)的MICROSOFT OFFICE產(chǎn)品家族的部分的一個或多個生產(chǎn)應用程序。應用程序的示例可以包括應用程序的MICROSOFT WORD、MICROSOFT EXCEL、MICROSOFTPOWERPOINT、MICROSOFT ACCESS、MICROSOFT VIS10 或 MICROSOFT OUTLOOK 家族的成員,但不限于這些。應當理解,本文所提供的示例是示例性的,不應以任何方式解釋為限制。
[0022]本地應用108可以包括網(wǎng)絡控件110,網(wǎng)絡控件110嵌入本地應用108,集成到本地應用108中,或者由本地應用108訪問。用于網(wǎng)絡控件110的源代碼可以從服務器112或其他源下載,諸如計算設備102,或者可以寫入本地應用108。網(wǎng)絡控件110所消費的源代碼或其他代碼可以寫入網(wǎng)絡控件110或者可以從各種源下載,包括服務器112。網(wǎng)絡控件110可以基于各種類型的語言,諸如但不排除HTML以及JAVASCRIPT。然而,應當理解,網(wǎng)絡控件110可以用任何適當?shù)木幋a語言來編寫。
[0023]此外,本地應用108或者另一適當?shù)膶嶓w可以擴展或者修改網(wǎng)絡控件110代碼以允許將各種主題引入到網(wǎng)絡控件110中。例如,主題可以是設計成調(diào)用特定響應、具有一定的視覺外觀或者在特定背景下提供信息的信息的視覺、音頻或觸覺呈現(xiàn)。主題的一些示例可以是信息、圖形、圖片、字體等的特定布局設計。
[0024]網(wǎng)絡控件110可以執(zhí)行各種功能。例如,網(wǎng)絡控件110可以便于本地應用108與服務器112之間的交互。服務器112可以訪問其上存儲有數(shù)據(jù)的內(nèi)容數(shù)據(jù)存儲設備114,這些數(shù)據(jù)可以通過網(wǎng)絡控件110而可供本地應用108使用。用戶(未示出)可以使用本地應用108來訪問存儲在內(nèi)容數(shù)據(jù)存儲設備114中的銷售數(shù)據(jù)或其他類型的數(shù)據(jù)。
[0025]用戶可以發(fā)起計算設備102處的本地應用108,計算設備102可以是用戶的個人計算機或工作計算機,以及其他可能。應當意識到,當前公開的主題不限于如圖1所示的單個服務器112或者單個內(nèi)容數(shù)據(jù)存儲設備114。在一些配置中,服務器112和內(nèi)容數(shù)據(jù)存儲設備114可以是分布式計算環(huán)境中的設備,其中服務器112和/或內(nèi)容數(shù)據(jù)存儲設備114的功能可以由一個或多個設備來提供。
[0026]本地應用108可以接收對存儲在內(nèi)容數(shù)據(jù)存儲設備114中的數(shù)據(jù)在計算設備102上進行渲染的輸入。例如,組織中的用戶可以期望在計算設備102上查看存儲在內(nèi)容數(shù)據(jù)存儲設備114中的銷售數(shù)據(jù)。然而,應當意識到,當前公開的主題不限于從用戶接收到的輸入,因為輸入可以通過本地應用108、網(wǎng)絡控件110或者未在此處具體敘述的其他源來接收或生成。
[0027]響應于接收到輸入,網(wǎng)絡控件110可以將功能請求111發(fā)送給服務器112,請求數(shù)據(jù)或者發(fā)送與輸入有關的信息。當前公開的主題不限于用于功能請求111的任何類型的功能。此外,當前公開的主題不要求與功能請求111有關的輸出或輸入。
[0028]服務器112可以通過訪問內(nèi)容數(shù)據(jù)存儲設備114以及其他可能的位置或設備來處理功能請求111。服務器112然后可以通過網(wǎng)絡104將功能請求111的結果發(fā)送到本地應用的網(wǎng)絡控件110。網(wǎng)絡控件110然后可以將功能請求111的結果提供給本地應用108。本地應用108此后可以處理該結果以用于取決于功能請求111的渲染或其他目的。
[0029]本地應用108可以使用各種組件來渲染本地應用108中的信息或數(shù)據(jù)。例如,本地應用108可以使用網(wǎng)絡控件110來渲染通過網(wǎng)絡控件110所提供的網(wǎng)絡內(nèi)容。當分配應用狀態(tài)時,本地應用108還可以分配渲染的視覺層級。例如,本地應用108可以使用網(wǎng)絡控件110在相對高或突出的層級為用戶渲染網(wǎng)絡內(nèi)容。在該示例中,由網(wǎng)絡控件110所提供的網(wǎng)絡內(nèi)容或用戶接口可以顯示在前景,而由本地應用108所提供的用戶接口可以不顯示或者顯示在背景。網(wǎng)絡控件110可以具有相對高的視覺層級(即,前景),而由本地應用108而不是網(wǎng)絡控件110所提供的用戶接口或其他數(shù)據(jù)可以具有相對低的視覺層級(即,背景)。然而,應當理解,本公開不限于前景/背景操作,因為可以使用其他的高/低層級操作。例如,在高視覺層級下渲染的信息可以被加高亮,而在低顯示層級下渲染的信息可以加陰影。
[0030]當使用遠程存儲的數(shù)據(jù)(諸如存儲在內(nèi)容數(shù)據(jù)存儲設備114中的數(shù)據(jù))時,當利用先前的方法來執(zhí)行視覺渲染時,在功能請求111操作期間視覺渲染可能是脫節(jié)的。例如,用戶可以選擇由網(wǎng)絡控件110所提供的內(nèi)容的一部分。如果該選擇需要功能請求111,則用戶可能被呈現(xiàn)由網(wǎng)絡控件110提供的顯示,然而期望的是與當操作本地應用108時所期望的相當?shù)娘@示。
[0031]在本示例中,功能請求111可以要求內(nèi)容數(shù)據(jù)存儲設備114與本地應用108之間的數(shù)據(jù)轉移。如果數(shù)據(jù)轉移花費可覺察的時間量,則可能將顯現(xiàn)出由于請求處理功能請求111的時間而“卡住”或“無響應”的屏幕呈現(xiàn)給用戶。因此,在功能請求111正被處理的同時,本地應用108可以繼續(xù)渲染內(nèi)容,而不改變,這是因為本地應用108