行業(yè)動(dòng)態(tài)
Industry news
導(dǎo)言:雖然目前仍處于發(fā)展階段,但更先進(jìn)的HTML5標(biāo)準(zhǔn),以更加優(yōu)異的表現(xiàn)成為網(wǎng)頁(yè)開(kāi)發(fā)者的手中利器。相較老舊的Flash在安全性、功耗和觸控體驗(yàn)上越來(lái)越捉襟見(jiàn)肘,HTML5憑借更強(qiáng)的通用性,以及高清視頻在線播放和網(wǎng)頁(yè)游戲時(shí)大幅提升的渲染能力,獲得越來(lái)越多開(kāi)發(fā)者的親睞。
早在2004年,HTML5標(biāo)準(zhǔn)的制定者就提出了HTML 5草案的前身Web Applications 1.0。作為HTML5網(wǎng)頁(yè)標(biāo)準(zhǔn)的參與構(gòu)建者之一,微軟理所當(dāng)然在全新的Internet Explorer 10瀏覽器(下文簡(jiǎn)稱IE10)中,加入對(duì)HTML5標(biāo)準(zhǔn)和網(wǎng)頁(yè)硬件加速功能的全面支持,大大加強(qiáng)了IE10的運(yùn)算處理能力。正如微軟IE部門(mén)企業(yè)副總裁迪恩·哈查莫維奇(Dean Hachamovitch)在MIX 11大會(huì)開(kāi)場(chǎng)演講時(shí)所說(shuō):“本地化的體驗(yàn)才是更好的體驗(yàn)。在Windows平臺(tái)上通過(guò)IE10的HTML5全面兼容和硬件加速能力,使得瀏覽器瀏覽網(wǎng)頁(yè)應(yīng)用體驗(yàn)如同打開(kāi)本地程序一樣流暢?!?nbsp;

IE10在延續(xù)IE9對(duì)傳統(tǒng)網(wǎng)頁(yè)代碼、網(wǎng)絡(luò)支付和視頻插件良好兼容性的同時(shí),將對(duì)HTML5網(wǎng)頁(yè)標(biāo)準(zhǔn)的支持提高到一個(gè)新的水平,并加入對(duì)更新CSS3標(biāo)準(zhǔn)的支持,例如flexbox、網(wǎng)格對(duì)齊、3D變換、動(dòng)畫(huà)、漸變等等,而網(wǎng)頁(yè)開(kāi)發(fā)者更常用的兩款CSS3指令集Gradients和Flexible Box Layout,都已經(jīng)成為IE10的組件。
對(duì)全新標(biāo)準(zhǔn)的謹(jǐn)慎采納
IE9和IE10均采用了HTML5的新標(biāo)準(zhǔn),而IE10則是在IE9之上,對(duì)HTML5標(biāo)準(zhǔn)支持的一次全面進(jìn)化。作為HTML5標(biāo)準(zhǔn)的制定者和推廣者,W3C HTML工作組的聯(lián)合主席,同時(shí)也是微軟亞太研發(fā)集團(tuán)資深專家顧問(wèn)的Paul Cotton,在今年8月的HTML5開(kāi)發(fā)者日暨W3C中國(guó)六周年慶典活動(dòng)上曾這樣評(píng)論道:“不僅有微軟的網(wǎng)頁(yè)瀏覽器IE9和IE10,而且連新一代操作系統(tǒng)Windows 8也全面支持HTML5標(biāo)準(zhǔn)。微軟早在三年前就大膽選擇了基于HTML5技術(shù)入手開(kāi)發(fā)Windows 8系統(tǒng),盡管當(dāng)時(shí)HTML5技術(shù)標(biāo)準(zhǔn)還遠(yuǎn)不如今天成熟,但微軟毅然選擇了對(duì)HTML5標(biāo)準(zhǔn)的全面支持。目前,在Windows 8平臺(tái),微軟也鼓勵(lì)開(kāi)發(fā)者使用HTML5腳本來(lái)進(jìn)行開(kāi)發(fā)?!?/P>
在論及HTML5時(shí),實(shí)際上指的是HTML、CSS和JavaScript在內(nèi)的一套技術(shù)組合標(biāo)準(zhǔn)。HTML 5提供了一些新的元素和屬性,同時(shí)取消了一些過(guò)時(shí)的HTML 4標(biāo)簽,這其中包括純粹用作顯示效果的標(biāo)記,如<font>和<center>就被CSS取代,同時(shí)HTML5的語(yǔ)法被設(shè)計(jì)成向后兼容。此外,HTML5標(biāo)準(zhǔn)有一個(gè)新的文檔類型標(biāo)簽,并使用了某些類似<div>和<span>但卻有一定新含義的標(biāo)簽,例如<nav>和<footer>,這種標(biāo)簽將有利于搜索引擎的索引整理、小屏幕設(shè)備和視障人士使用。
但I(xiàn)E對(duì)HTML5的新特性支持,也并不是一味的求新。Websockets是HTTP之外另一種服務(wù)器和客戶端進(jìn)行溝通的協(xié)議,它相較于HTTP的優(yōu)勢(shì)在于使用這個(gè)協(xié)議的服務(wù)器與客戶端溝通是雙向的,因此服務(wù)器便有了更加便捷的推送功能。但是微軟IE團(tuán)隊(duì)并沒(méi)有將Websockets加入到IE9中,這是因?yàn)樵贗E9發(fā)布時(shí)Websockets還存在較多安全隱患,并且在它日趨成熟的過(guò)程中,它的API也是在不斷更新的。大多數(shù)開(kāi)發(fā)者,尤其是大型企業(yè)網(wǎng)站的開(kāi)發(fā)者并不愿意使用存在安全隱患的技術(shù),也不希望由于API的更新而對(duì)自己的網(wǎng)站進(jìn)行大的改動(dòng)。Paul Cotton表示,即便如此大家也已經(jīng)可以從IE9瀏覽器中看到很多對(duì)于HTML5新技術(shù)的支持,如DOM Level 3、SVG、CSS3等等。Paul Cotton在接受采訪時(shí)表示:“除微軟之外的其他瀏覽器廠商的‘心跳速度'都比微軟要快,他們更急于推出新技術(shù)和新產(chǎn)品。Chorme一出新的版本,用了稍早標(biāo)準(zhǔn)技術(shù)開(kāi)發(fā)的網(wǎng)站就會(huì)崩潰,需要重寫(xiě)。所以我們認(rèn)為這是一個(gè)魚(yú)與熊掌不可兼得的局面,你自己要去做一個(gè)權(quán)衡:到底是你希望使用更新的東西,還是希望更加穩(wěn)定的技術(shù)。”
可以看出IE對(duì)于HTML5新標(biāo)準(zhǔn)的采納十分慎重,只有當(dāng)一項(xiàng)技術(shù)足夠穩(wěn)定時(shí)才會(huì)被加入到更新版本的IE當(dāng)中。不僅如此,微軟還建立了一些用于與開(kāi)發(fā)者共同探討HTML5技術(shù)的網(wǎng)站。例如,在 html5labs.com上,微軟會(huì)構(gòu)建一些HTML5標(biāo)準(zhǔn)的原型并發(fā)布到該網(wǎng)站上,供開(kāi)發(fā)者發(fā)現(xiàn)可能存在的問(wèn)題,而在 Ietestdrive.com網(wǎng)站上,則展示了一些經(jīng)過(guò)驗(yàn)證已經(jīng)穩(wěn)定的HTML5標(biāo)準(zhǔn)的網(wǎng)頁(yè)Demo。
不斷強(qiáng)化的硬件渲染加速
盡管IE9在網(wǎng)頁(yè)渲染硬件加速方面已經(jīng)有著優(yōu)秀的表現(xiàn),但I(xiàn)E10則更進(jìn)一步,相比前輩IE9所支持的API多出了一倍,包括圖形渲染API、CSS 2D變換效果、SVG、HTML視頻和音頻,以及Canvas等等。
HTML5是未來(lái)網(wǎng)頁(yè)技術(shù)發(fā)展的大方向,各大瀏覽器目前都在不斷提升對(duì)HTML5支持的能力。測(cè)試顯示,采用同樣GPU的主頻為2.7GHz的四核筆記本電腦,IE10的頁(yè)面加載速度和每秒幀數(shù)測(cè)量結(jié)果,特別是在執(zhí)行多種HTML5任務(wù)時(shí)的性能,都要超過(guò)Chrome、火狐和Safari,特別是對(duì)CSS3動(dòng)畫(huà)的支持方面,IE10的性能更是傲視群雄。而這些,均得益于IE10上更加完整的硬件渲染加速功能。
網(wǎng)頁(yè)硬件渲染的重要性,我們可以從一個(gè)簡(jiǎn)單的例子來(lái)看:假設(shè)讓網(wǎng)頁(yè)中一個(gè)元素主體向右移動(dòng)一步,則構(gòu)成主體的像素點(diǎn)被轉(zhuǎn)換到了新的位置,主體被重畫(huà),而舊的主體被擦去。在越來(lái)越精美的網(wǎng)頁(yè)應(yīng)用如高清視頻、游戲中,更加復(fù)雜的運(yùn)動(dòng)則需要更為復(fù)雜的運(yùn)算,于是渲染網(wǎng)頁(yè)開(kāi)始占據(jù)CPU的所有性能。但現(xiàn)代PC的運(yùn)算單元不僅是一個(gè)CPU而已, 還有圖形處理器(GPU)。
GPU可以有效地接替來(lái)自CPU在圖形渲染過(guò)程中產(chǎn)生的幾乎所有計(jì)算負(fù)荷,并且速度十分驚人。因此,當(dāng)IE檢測(cè)需要更復(fù)雜的計(jì)算時(shí),運(yùn)算會(huì)從CPU切換到GPU工作模式,在一些測(cè)試環(huán)境下,渲染性能可以輕易的從13幀每秒加速到180幀每秒。
由于IE支持更新出現(xiàn)的Web標(biāo)準(zhǔn),網(wǎng)頁(yè)應(yīng)用可以在IE上獲得充分的硬件加速,從而將CPU從網(wǎng)頁(yè)運(yùn)算中徹底釋放,而非其他瀏覽器的部分硬件加速仍舊需要占用CPU計(jì)算資源。通過(guò)瀏覽器來(lái)充分實(shí)現(xiàn)GPU的價(jià)值是極具挑戰(zhàn)性的,微軟通過(guò)DirectX多年來(lái)在大量游戲中積累的豐富經(jīng)驗(yàn),使IE實(shí)現(xiàn)基于GPU的更高性能渲染成為可能。HTML 5視頻的硬件加速是另一個(gè)很好的例子。在MIX10大會(huì)上,微軟展示了完整硬件加速在網(wǎng)頁(yè)高清視頻播放上的優(yōu)越性:在一臺(tái)上網(wǎng)本上用IE9播放了兩段720p視頻,它的CPU使用率很低,另一款并非完整硬件加速的瀏覽器上,僅能播放其中一段碼率較低的視頻,不但耗盡了CPU資源還出現(xiàn)丟幀現(xiàn)象,這正是自IE9開(kāi)始的全硬件加速帶來(lái)的優(yōu)勢(shì)。
在IE9的基礎(chǔ)上,IE10啟用了改版后的JavaScript引擎Chakra。改版后的Chakra添加了64位和ARM支持,對(duì)IE10的內(nèi)存分配器等功能進(jìn)行了改進(jìn),這樣的調(diào)整將會(huì)給IE10帶來(lái)JavaScript應(yīng)用的顯著性能改善,特別是使用HTML5標(biāo)準(zhǔn)編寫(xiě)的游戲和模擬器。而知名iOS游戲《Cut The Rope》在推出其在線HTML5版本時(shí)優(yōu)推使用微軟IE瀏覽器,也證明IE瀏覽器對(duì)HTML5游戲的良好支持。
與IE9相比,IE10無(wú)論是在渲染速度、數(shù)據(jù)處理速度,還是網(wǎng)站頁(yè)面打開(kāi)速度上,都有了明顯提升,在頁(yè)面處理和視覺(jué)處理功能上也進(jìn)行了加強(qiáng),支持現(xiàn)有的主流網(wǎng)頁(yè)標(biāo)準(zhǔn)。網(wǎng)頁(yè)開(kāi)發(fā)者更常用的兩款CSS3指令Gradients和Flexible Box Layout,都已經(jīng)成為IE10的內(nèi)置組件之一。而在對(duì)Web App的兼容性上,得益于IE10對(duì)HTML5標(biāo)準(zhǔn)和CSS3的全面支持,IE10能更大限度地提高網(wǎng)頁(yè)應(yīng)用程序的性能、可用性和可靠性,從某種程度上來(lái)說(shuō),也節(jié)約了HTML5網(wǎng)頁(yè)程序開(kāi)發(fā)者的開(kāi)發(fā)成本與開(kāi)發(fā)時(shí)間。IE9和IE10對(duì)HTML5的全面而嚴(yán)謹(jǐn)?shù)闹С?,以及出色的硬件加速功能,有助于開(kāi)發(fā)者打造更加穩(wěn)定、用戶體驗(yàn)更豐富的網(wǎng)絡(luò)服務(wù)。