Google將在HTML 5中構(gòu)建Native Client
Google的Native Client(見注釋)目前處于試驗(yàn)階段,不同于JavaScript或者Flash等需要更多軟件來(lái)運(yùn)行和代碼執(zhí)行的web編程技術(shù),它直接讓瀏覽器在x86處理器上運(yùn)行模塊程序,從而獲得更高的性能。但使用這種技術(shù)有一個(gè)很大的障礙:必須安裝瀏覽器插件。
然而Google想讓Native Client更廣泛地用于瀏覽器,所以將這種技術(shù)構(gòu)建到了HTML中,HTML是創(chuàng)建web頁(yè)面的標(biāo)準(zhǔn)。而且在Google的開發(fā)者大會(huì)上(Google I/O)Google演示了demonstration。
Native Client的技術(shù)指導(dǎo)David Sehr展示了Web Workers(見注釋)標(biāo)準(zhǔn),他讓W(xué)eb頁(yè)面分配不同的任務(wù)到獨(dú)立的處理線程中,瀏覽器可以同時(shí)運(yùn)行和處理這些線程而不必一個(gè)一個(gè)排隊(duì)處理。Web workers是Native Client發(fā)揚(yáng)光大的重中之重,然而它還不是正式的HTML 5標(biāo)準(zhǔn)。
為什么Native Client技術(shù)這么重要?因?yàn)楸容^起運(yùn)行在電腦上的本地程序,當(dāng)前的瀏覽器運(yùn)行軟件相對(duì)慢得多,所以Google想通過(guò)Native Client來(lái)顯著提升瀏覽器運(yùn)行軟件的速度,從而讓其基于web 的軟件更具競(jìng)爭(zhēng)力。
Google Native Client項(xiàng)目的工程主管Brad Chen在Google開發(fā)者大會(huì)上說(shuō)道,它占用你桌面本地代碼的百分比在個(gè)位數(shù)。
從演示中來(lái)看Native Client的功能包括視頻解碼、數(shù)據(jù)加密、視頻游戲引擎以及臉部識(shí)別。更有趣的是,Native Client可以與另一個(gè)Google瀏覽器的插件O3D聯(lián)合工作,從而使得瀏覽器能夠充分利用硬件來(lái)加速3D圖形處理。
Google演示的Native Client基于瀏覽器的圖像編輯
結(jié)合O3D,開發(fā)者可以做出更高質(zhì)量的游戲,無(wú)論是操作桿游戲還是CAD應(yīng)用。Chen說(shuō)。
Google這樣做也是有私心的。旗下的應(yīng)用包括Google Docs, Google Maps和Gmail都是基于瀏覽器的,Native Client就是為了讓這些應(yīng)用更加快速?gòu)亩匙烂婕夹g(shù)比如Microsoft Office。目前Google正在努力解決Native Client的安全問(wèn)題。
Sehr稱Google的瀏覽器Chrome有望在未來(lái)幾周內(nèi)引入Web Worker支持,無(wú)疑這將再次提升Google 的Web應(yīng)用。盡管其他瀏覽器也置入了Web Worker支持,然而目前來(lái)說(shuō)這種技術(shù)還不成熟而且還沒有在瀏覽器中廣泛應(yīng)用。
在一次采訪中,Chen表示Google計(jì)劃通過(guò)Web Workers和插件兩種方式來(lái)支持Native Client。當(dāng)然通過(guò)Web Workers內(nèi)置在瀏覽器內(nèi)是最好的方式,但是Chen表示W(wǎng)eb Workers還有許多局限性,所以插件也是一種很好的方式。
在下面這個(gè)例子中Google演示的是圖像編輯。圖形可以旋轉(zhuǎn)、縮放、顏色調(diào)整等。
注釋:
Native Client:Google的一個(gè)新產(chǎn)品,目前出于試驗(yàn)階段,它能夠幫助網(wǎng)絡(luò)開發(fā)者編寫更強(qiáng)大的Web應(yīng)用,使得網(wǎng)絡(luò)應(yīng)用可以直接在本地操作系統(tǒng)上運(yùn)行,不需通過(guò)瀏覽器。Google表示,它可以真正幫助網(wǎng)絡(luò)開發(fā)者提高網(wǎng)絡(luò)應(yīng)用開發(fā)速度,帶來(lái)和桌面應(yīng)用一樣的體驗(yàn)。
Web Workers:它為WEB前端網(wǎng)頁(yè)上的腳本提供了一種能在后臺(tái)進(jìn)程中運(yùn)行的方法。一旦它被創(chuàng)建,Web Workers就可以通過(guò)postMessage()向任務(wù)池發(fā)送任務(wù)請(qǐng)求,執(zhí)行完之后再通過(guò)postMessage()返回消息給創(chuàng)建者指定的事件處理程序(通過(guò)onmessage進(jìn)行捕獲)。 Web Workers進(jìn)程能夠在不影響用戶界面的情況下處理任務(wù),并且,它還可以使用XMLHttpRequest來(lái)處理I/O,無(wú)論responseXML和channel屬性是否為null。
您正在閱讀的是《Google將在HTML 5中構(gòu)建Native Client》
【編輯推薦】