自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Cloudberry:面向移動(dòng)設(shè)備的HTML5云手機(jī)平臺(tái)

移動(dòng)開發(fā)
軟件產(chǎn)業(yè)的模式正轉(zhuǎn)向基于Web的軟件。曾經(jīng)針對特定計(jì)算機(jī)架構(gòu)、CPU、操作系統(tǒng)和設(shè)備開發(fā)的應(yīng)用,目前正在越來越多地轉(zhuǎn)向 Web,并且將在瀏覽器或兼容的運(yùn)行時(shí)環(huán)境中。本文中,我們介紹了由Nokia研究中心開發(fā)的Cloudberry,它是一個(gè)基于HTML5的云手機(jī)軟件平臺(tái)。

在計(jì)算機(jī)與軟件領(lǐng)域,鮮有能夠如同智能終端的發(fā)展一樣,顯著影響我們的世界。對于不停地運(yùn)行各種任務(wù)和服務(wù),消費(fèi)者似乎擁有無窮無盡的熱情。同時(shí), 新應(yīng)用涌現(xiàn)速度也令人印象深刻。如果最近經(jīng)常旅行,任何一個(gè)人在任何一個(gè)候機(jī)室觀察自己周圍的人,肯定能夠發(fā)現(xiàn)這樣的場景:他們在使用移動(dòng)服務(wù),不僅在處 理郵件,還在購物、支付、看電影,甚至是在抵押貸款。(有傳言說,某些設(shè)備甚至在撥打電話)。

軟件產(chǎn)業(yè)的模式正轉(zhuǎn)向基于Web的軟件。曾經(jīng)針對特定計(jì)算機(jī)架構(gòu)、CPU、操作系統(tǒng)和設(shè)備開發(fā)的應(yīng)用,目前正在越來越多地轉(zhuǎn)向 Web,并且將在瀏覽器或兼容的運(yùn)行時(shí)環(huán)境中。未來包括個(gè)人和企業(yè)用途的大部分終端用戶軟件都將會(huì)基于Web。對一般的計(jì)算機(jī)用戶而言,Web瀏覽器會(huì)是 符合他們大部分用途的主要軟件環(huán)境,從而有效取代傳統(tǒng)操作系統(tǒng)在過去曾經(jīng)扮演的核心角色。我們相信向基于Web終端用戶軟件的轉(zhuǎn)變,將為桌面和移動(dòng)設(shè)備兩個(gè)領(lǐng)域都帶來巨大影響。盡管在撰寫本文時(shí),針對特定設(shè)備或操作系統(tǒng)編寫并與Web結(jié)合的本地移動(dòng)應(yīng)用還有很可觀的勢頭,但顯然基于Web的軟件在移動(dòng)設(shè)備 領(lǐng)域也將扮演至關(guān)重要的角色。實(shí)際上,我們預(yù)計(jì)下個(gè)十年的競爭將在本地應(yīng)用與純HTML5開放性Web應(yīng)用之間展開。本文中,我們介紹了由Nokia研究中心開發(fā)的Cloudberry,它是一個(gè)基于HTML5的云手機(jī)軟件平臺(tái)。

云手機(jī)的一個(gè)核心價(jià)值在于,設(shè)備上幾乎任何一個(gè)面向用戶的應(yīng)用或特性都可以從服務(wù)器端進(jìn)行變更,并且能夠立刻將變更應(yīng)用到全世界潛在的數(shù)以百萬計(jì)的 設(shè)備。這將會(huì)加快應(yīng)用和服務(wù)的部署和更新的生命周期,并且簡化了為不同用戶和目的定制設(shè)備的工作。另一個(gè)關(guān)鍵價(jià)值點(diǎn)適用于擁有多設(shè)備的人——也就是說,能 夠讓用戶毫不費(fèi)力地從不同設(shè)備使用相同的應(yīng)用和數(shù)據(jù)。

云手機(jī)

云手機(jī)是一種將所有面向用戶的功能都從網(wǎng)上動(dòng)態(tài)下載和緩存的移動(dòng)設(shè)備,包括所有應(yīng)用甚至設(shè)備整個(gè)頂層用戶界面(UI)。想要了解移動(dòng)云系統(tǒng)的更多信息,請閱讀本文末尾的“移動(dòng)云系統(tǒng)中的相關(guān)工作”。云手機(jī)將擁有以下若干關(guān)鍵特性。

用戶體驗(yàn)驅(qū)動(dòng)的Web運(yùn)行時(shí)

在傳統(tǒng)移動(dòng)設(shè)備上,設(shè)備頂層用戶體驗(yàn)一般采用本地方式編寫;Web瀏覽器僅是系統(tǒng)提供的眾多應(yīng)用之一。而在Cloudberry中,Web運(yùn)行時(shí)則是系統(tǒng)的核心內(nèi)容,它驅(qū)動(dòng)整個(gè)頂層UI和所有應(yīng)用。任何本地軟件都不會(huì)直接暴露給用戶。

將應(yīng)用作為Web應(yīng)用開發(fā)

在Cloudberry中,所有移動(dòng)設(shè)備應(yīng)用都被做為Web應(yīng)用,包括電話撥打、聯(lián)系人、日歷、短信、音樂播放器和地圖等核心應(yīng)用。

基于Web的應(yīng)用開發(fā)模型

Cloudberry中應(yīng)用開發(fā)模型完全基于Web技術(shù)——具體來說是基于HTML、CSS和JavaScript。Cloudberry中將不會(huì)有二進(jìn)制應(yīng)用(指本地應(yīng)用),應(yīng)用也不必進(jìn)行靜態(tài)編譯或鏈接;開發(fā)者可以使用標(biāo)準(zhǔn)基于Web的開發(fā)工具。

基于Web的部署模型和透明更新

Cloudberry是一個(gè)“零安裝”平臺(tái)——在Cloudberry中不存在傳統(tǒng)意義上應(yīng)用安裝的概念。從邏輯上講,每個(gè)應(yīng)用就像是個(gè)網(wǎng)頁:它只 不過是個(gè)鏈接,由Web運(yùn)行時(shí)動(dòng)態(tài)加載和緩存必要數(shù)據(jù)和需要執(zhí)行的代碼。而服務(wù)器端軟件變更后,移動(dòng)設(shè)備的更新將自動(dòng)完成。實(shí)際上,每個(gè)設(shè)備整套應(yīng)用完全 是動(dòng)態(tài)的,并且根據(jù)需要(由服務(wù)提供者或用戶自身)頻繁變更。

云上的主拷貝

云手機(jī)上的全部應(yīng)用和用戶數(shù)據(jù)的主拷貝都存儲(chǔ)在云端。這讓用戶能夠在不同設(shè)備間輕松地切換,因?yàn)樗蛩乃性O(shè)備都能夠訪問相同的應(yīng)用和數(shù)據(jù)。用戶在各個(gè)設(shè)備上的數(shù)據(jù)會(huì)被自動(dòng)備份到云上。

通過HTML5實(shí)現(xiàn)離線使用

對任何手機(jī)而言,一個(gè)關(guān)鍵元素是能夠在沒有可用網(wǎng)絡(luò)聯(lián)接的情況下使用。Cloudberry系統(tǒng)利用HTML5支持離線應(yīng)用的特性以及專有的數(shù)據(jù)緩存機(jī)制,來保證應(yīng)用和應(yīng)用數(shù)據(jù)在設(shè)備離線情況下能夠使用??傮w而言,由于我們將HTML5用于運(yùn)行應(yīng)用,一般來說應(yīng)用大部分代碼都在客戶端利用移動(dòng)設(shè)備的CPU能力和內(nèi)存來執(zhí)行。

(點(diǎn)擊圖片以放大查看)

圖1.(a) Cloudberry2011桌面,帶有四個(gè)激活但最小化到桌面的應(yīng)用。(b)應(yīng)用啟動(dòng)器/商店。商店推薦了三個(gè)“精選應(yīng)用”。此外,用戶可以從不同欄目或推薦列表中選擇應(yīng)用。

應(yīng)用和用戶界面舉例

雖然云手機(jī)采用與傳統(tǒng)移動(dòng)設(shè)備不同的技術(shù)架構(gòu),但是站在用戶角度,不會(huì)看到或感到與傳統(tǒng)設(shè)備有任何不同。實(shí)際上,在我們最初的云手機(jī)設(shè)計(jì)首要目標(biāo)之 一,就是讓傳統(tǒng)手機(jī)用戶立刻對云手機(jī)從外觀和感覺上感到熟悉。為了加強(qiáng)用戶這種感覺,在最初Cloudberry2010系統(tǒng)中,我們特意針對Nokia N900上所有對應(yīng)的本地應(yīng)用構(gòu)建了類似應(yīng)用。(我們當(dāng)時(shí)也可以選擇將一切設(shè)計(jì)得完全不同;Cloudberry能夠兼容不同外觀和感覺的主題,遠(yuǎn)遠(yuǎn)超越 目前大多數(shù)移動(dòng)設(shè)備上能夠使用的。)在最近Cloudberry2011(以下大部分例子來源于這一版本)中,我們更廣泛地利用了云所特有的能力。

圖1展示了Cloudberry2011的兩幅屏幕截圖;在UI風(fēng)格方面,這里使用了無限2D空間概念。圖1a展現(xiàn)的桌面帶有四個(gè)打開的應(yīng)用程序: 電話、時(shí)鐘、圖片瀏覽器和第三方HTML5 demo。駐留在無限2D空間中的應(yīng)用能夠自由浮動(dòng)(這很難在一張靜態(tài)截圖中體現(xiàn))。諸如視差等視覺效果加強(qiáng)了該空間的開放和無限的感覺。用戶可以通過點(diǎn) 擊桌面上任何一個(gè)應(yīng)用,將它轉(zhuǎn)變?yōu)槿聊J健D2展現(xiàn)了一些全屏應(yīng)用的例子。在圖1b中,用戶點(diǎn)擊了屏幕底部的云標(biāo)志以啟動(dòng)一個(gè)新應(yīng)用。與傳統(tǒng)靜態(tài)應(yīng)用啟 動(dòng)器或網(wǎng)格不同的是,Cloudberry2011使用了一個(gè)動(dòng)態(tài)的、服務(wù)器端生成的應(yīng)用商店,該商店由若干精選應(yīng)用、預(yù)置應(yīng)用分類、熱門列表,以及用戶 近期使用的應(yīng)用列表組成。用戶選擇一個(gè)應(yīng)用(實(shí)際上是一個(gè)鏈接)后,Cloudberry客戶端下載并緩存這一應(yīng)用;如果最近在這個(gè)設(shè)備上運(yùn)行過該應(yīng)用, 則執(zhí)行緩存中已有版本。在后一種情況下,系統(tǒng)會(huì)檢查之前緩存的應(yīng)用最近是否已在服務(wù)器端進(jìn)行了升級(jí);如果已有升級(jí),則系統(tǒng)在后臺(tái)“透明地”下載升級(jí)組件。 雖然我們最初的應(yīng)用集模仿了Nokia N900的本地應(yīng)用,但我們最近構(gòu)建了綜合性混合應(yīng)用,以多種方式使用Web上的可用資源,因此應(yīng)用在外觀和感覺上與任何現(xiàn)有本地應(yīng)用都是無關(guān)的。大部分 第三方HTML5應(yīng)用同樣無需修改就可以在Cloudberry中運(yùn)行,盡管它們的UI布局在目標(biāo)設(shè)備(Cloudberry)上并不總是最佳的。

首次使用云手機(jī)

云手機(jī)的中心思想是能夠不費(fèi)吹灰之力地跨設(shè)備使用應(yīng)用和數(shù)據(jù)。為了在某個(gè)特定設(shè)備上使用Cloudberry,用戶必須首先輸入憑證來建立設(shè)備與他 或她在云端的身份之間的聯(lián)系。隨后,頂層UI和已打開的應(yīng)用(如果用戶之前在其他設(shè)備上打開了任何應(yīng)用)就可以在這個(gè)設(shè)備上使用了。用戶身份認(rèn)證在每個(gè)設(shè) 備上只進(jìn)行一次。首次登錄后,設(shè)備將與這一特定用戶保持關(guān)聯(lián),除非該用戶明確斷開他或她的身份關(guān)聯(lián)并清除設(shè)備上的全部個(gè)人數(shù)據(jù)。

技術(shù)概述

從技術(shù)角度看,Cloudberry客戶端棧(注:指一套完整的客戶端組件)由若干組件構(gòu)成:

  • 成熟兼容WebKit的Web瀏覽器,并定制化以支持額外特性;
  • 一系列可下載的頂層UI,允許動(dòng)態(tài)變更設(shè)備的全部外觀、感覺和頂層用戶體驗(yàn)(早些時(shí)候,Cloudberry的全部頂層UI都是使用QML(QtQuick)語言編寫,以保持應(yīng)用和周邊的設(shè)備UI完全分離;但最近我們也開始使用HTML5來實(shí)現(xiàn)頂層UI);
  • 一套實(shí)現(xiàn)了手機(jī)上全部典型核心應(yīng)用的Web應(yīng)用(應(yīng)用具有自適應(yīng)的UI布局,可以在不同尺寸、分辨率和朝向的設(shè)備上靈活應(yīng)用;此外HTML5也能夠支持離線使用和應(yīng)用自動(dòng)更新);
  • 應(yīng)用可以通過數(shù)據(jù)API將自己的數(shù)據(jù)透明地存儲(chǔ)在云端,并與云端的數(shù)據(jù)存儲(chǔ)進(jìn)行自動(dòng)同步(該API的目標(biāo)是使數(shù)據(jù)存儲(chǔ)盡可能無縫和透明;默認(rèn)情況下,所有數(shù)據(jù)都會(huì)自動(dòng)同步到云端,盡管如此,數(shù)據(jù)也可以被標(biāo)記為本地);
  • 應(yīng)用可以使用一系列設(shè)備API實(shí)現(xiàn)設(shè)備相關(guān)的功能(例如,撥打電話、發(fā)送短信、讀取GPS位置信息等等;在官方W3C設(shè)備API [www.w3.org/2009/dap]適用的領(lǐng)域,設(shè)備API基于該標(biāo)準(zhǔn);而專有的API則被運(yùn)用在標(biāo)準(zhǔn)尚未覆蓋的領(lǐng)域);
  • 基于域和許可的安全模型限制了設(shè)備相關(guān)功能(例如設(shè)備API)的使用,只有來自可信任域的應(yīng)用能夠調(diào)用它們;
  • 底層進(jìn)程模型使得來自不同域的應(yīng)用程序能夠運(yùn)行在獨(dú)立的本地系統(tǒng)進(jìn)程中;

(點(diǎn)擊圖片以放大查看)

圖2.部分全屏Cloudberry核心應(yīng)用的截圖:聯(lián)系人列表、日歷、圖片庫和地圖應(yīng)用。

WebKit瀏覽器近期版本中包括類似的能力,但我們在這個(gè)領(lǐng)域的工作早于WebKit2,并且針對在應(yīng)用、Web域和渲染過程之間選擇分界線提供了更多靈活性。安全存儲(chǔ)的安全策略文件決定了設(shè) 備和某特定Web域之間的信任等級(jí)。應(yīng)用必須使用許可以明確請求訪問標(biāo)準(zhǔn)瀏覽器所提供沙箱之外的特性。這個(gè)安全模型拓展了典型Web瀏覽器安全模型。 圖3展示了Cloudberry系統(tǒng)的高層級(jí)架構(gòu)圖。事實(shí)上,在兼容標(biāo)準(zhǔn)瀏覽器之上進(jìn)行構(gòu)建,意味著第三方HTML5應(yīng)用無需修改即可運(yùn)行。除訪問底層設(shè) 備和平臺(tái)能力外,Cloudberry核心應(yīng)用與第三方Web內(nèi)容間并沒有硬性分割。由于Cloudberry中設(shè)備的全部功能都是動(dòng)態(tài)下載,我們特別強(qiáng) 調(diào)了安全性。目前我們在這一領(lǐng)域使用若干專有拓展,但我們期望其他業(yè)界成員能夠關(guān)注這些主題,因?yàn)橐苿?dòng)Web應(yīng)用對標(biāo)準(zhǔn)化安全機(jī)制的需求正變得越來越明 顯。

(點(diǎn)擊圖片以放大查看)

圖3. Cloudberry系統(tǒng)的高層級(jí)架構(gòu)圖。云手機(jī)上,幾乎所有面向客戶的特性都是從網(wǎng)絡(luò)上動(dòng)態(tài)下載和緩存的。

評價(jià)和討論

在我們最初的目標(biāo)設(shè)備Nokia N900上,Cloudberry系統(tǒng)的性能最多只能被形容為“夠用”而已。在這個(gè)項(xiàng)目期間,移動(dòng)設(shè)備及其Web運(yùn)行時(shí)的性能取得了顯著增長,特別是新設(shè) 備極大改進(jìn)了用戶體驗(yàn)。此外,JavaScript虛擬機(jī)性能地巨大提升也幫助了我們??傊覀兛焖俳咏诉@樣一種狀態(tài):對于構(gòu)建完全圍繞著基于Web用 戶體驗(yàn)的移動(dòng)設(shè)備而言,Web引擎性能不再是阻礙。

架構(gòu)驗(yàn)證

在討論云手機(jī)概念的時(shí)候,我們常常遇到一種誤解:云手機(jī)的概念與客戶端設(shè)備的“瘦”是相關(guān)的。云計(jì)算在歷史上曾經(jīng)意味著使用瘦客戶端——在這種方式 下,大多數(shù)計(jì)算是在服務(wù)器端完成。因此大部分人在第一次聽說Cloudberry系統(tǒng)時(shí),都會(huì)假想一個(gè)大多數(shù)工作發(fā)生在云端的模型。在實(shí)踐中,任何依賴 HTML5應(yīng)用模型的系統(tǒng),特別是依賴其離線運(yùn)行能力的系統(tǒng)實(shí)際上根本不是瘦客戶端。盡管Web環(huán)境通過 Node.js(http://nodejs.org)等類庫為平衡客戶端和服務(wù)器端之間的計(jì)算需求提供了靈活的機(jī)制,現(xiàn)實(shí)中大多數(shù)基于HTML5環(huán)境系 統(tǒng)中的工作發(fā)生在客戶端。Cloudberry系統(tǒng)使用的運(yùn)行模型實(shí)際上與其他依賴于用沙箱封裝虛擬機(jī)環(huán)境(例如Java ME或 Android)的移動(dòng)軟件平臺(tái)有著驚人的相似性。從這方面來說,Cloudberry系統(tǒng)整體架構(gòu)不需要任何特別的驗(yàn)證。Cloudberry與其他如 JavaME或Android等系統(tǒng)相比的一項(xiàng)關(guān)鍵不同,是它能夠以極快節(jié)奏更新應(yīng)用及其組件,因?yàn)榉?wù)器端對應(yīng)用的主拷貝及其組件的任何變更都會(huì)幾乎立 刻在全世界潛在的數(shù)百萬客戶端設(shè)備上體現(xiàn)出來。我們還沒有測試過這些特性的可擴(kuò)展性,但正在研究若干與系統(tǒng)安全性和整體可擴(kuò)展性相關(guān)的主題。

剩余的問題和挑戰(zhàn)

我們討論了在早期工作中將Web瀏覽器廣泛作為軟件平臺(tái)的限制。大部分這樣的限制同樣適用于Cloudberry系 統(tǒng)。如果必須挑出一項(xiàng)妨礙基于HTML5移動(dòng)平臺(tái)大規(guī)模部署的因素,我們認(rèn)為應(yīng)該是缺乏標(biāo)準(zhǔn)化。盡管在使Web成為有競爭力的應(yīng)用平臺(tái)過程中,HTML5 和相關(guān)W3C標(biāo)準(zhǔn)活動(dòng)扮演了關(guān)鍵角色,但目前兼容HTML5的Web瀏覽器提供的特性集對于現(xiàn)實(shí)中的應(yīng)用而言仍是不完整的。

例如,在W3C對設(shè)備API定義中,僅提供對當(dāng)前個(gè)人計(jì)算 機(jī)和移動(dòng)設(shè)備上的平臺(tái)特性有限訪問。要訪問標(biāo)準(zhǔn)提供能力以外的設(shè)備和平臺(tái)特性,仍然必須使用專有API。這些問題顯著降低了應(yīng)用的可移植性和云手機(jī)所提倡 的整體價(jià)值。我們預(yù)測要建立比HTML5更完整的Web應(yīng)用平臺(tái),必須進(jìn)行新一輪大的標(biāo)準(zhǔn)化行動(dòng)。標(biāo)準(zhǔn)化行動(dòng)的一個(gè)關(guān)鍵目標(biāo)將是更全面地將底層操作系統(tǒng)和 設(shè)備能力虛擬化,并保證具有必要的安全機(jī)制來安全訪問全部平臺(tái)能力。順便說一下,W3C已經(jīng)開始研究下一代HTML了(www.w3.org/wiki /HTML/next)。

目前Cloudberry作為一個(gè)科研系統(tǒng),還沒有立即轉(zhuǎn)化為產(chǎn)品的計(jì)劃。盡管如此,項(xiàng)目中探索的許多理念已經(jīng)找到了轉(zhuǎn)化為商業(yè)產(chǎn)品的道路。我們相 信向基于Web軟件轉(zhuǎn)變的趨勢,將導(dǎo)致軟件行業(yè)從傳統(tǒng)二進(jìn)制應(yīng)用向動(dòng)態(tài)交付Web應(yīng)用的模式轉(zhuǎn)變。未來傳統(tǒng)二進(jìn)制程序的用途將被主要限定在系統(tǒng)軟件方面, 而大量終端用戶軟件將使用Web技術(shù)開發(fā)。Cloudberry系統(tǒng)證明了這樣一個(gè)轉(zhuǎn)變在移動(dòng)設(shè)備領(lǐng)域是可行的。

責(zé)任編輯:徐川 來源: InfoQ
相關(guān)推薦

2011-05-11 12:59:18

HTML5

2014-10-21 17:34:11

HTML5移動(dòng)設(shè)計(jì)

2012-06-04 10:48:24

HTML5

2011-06-29 14:01:40

HTML 5

2011-06-29 16:31:02

HTML 5移動(dòng)設(shè)備

2013-03-28 10:31:59

開發(fā)者HTML5壟斷

2014-03-18 09:20:17

HTML5移動(dòng)開發(fā)

2012-03-07 10:02:35

AppCanHTML5移動(dòng)應(yīng)用

2012-04-23 15:07:45

jQ.Mobi

2014-11-20 14:11:30

遨游瀏覽器HTML5

2011-12-28 15:32:46

HTML5移動(dòng)App

2012-03-06 09:46:25

iOSHTML5Android

2015-07-22 16:44:51

HTML5優(yōu)化

2011-11-28 13:15:25

HTML5移動(dòng)應(yīng)用

2012-02-23 10:28:43

AppCanHTML5移動(dòng)應(yīng)用

2014-12-22 15:02:48

HTML5移動(dòng)應(yīng)用開發(fā)

2015-10-14 09:33:20

谷歌html5divshot

2011-10-09 13:29:11

HTML5App Store蘋果

2013-01-25 16:54:42

富士通HTML5企業(yè)級(jí)

2013-03-26 14:45:21

HTML5封裝成and
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)