宋菲婭
大連理工大學(xué) 遼寧 116621
自從1993年6月發(fā)布第一版超文本標(biāo)記語言--HTML,它便成為構(gòu)成網(wǎng)頁文檔的主流語言。隨著網(wǎng)絡(luò)的不斷發(fā)展,舊版本的 HTML已經(jīng)很難跟上開發(fā)人員和使用者日益加快的步伐。為了適應(yīng)快速發(fā)展的Web技術(shù)以及不斷提出的Web應(yīng)用需求,HTML5應(yīng)運(yùn)而生。HTML 5的第一份正式草案于2008年1月22日公布,隨后一直處于發(fā)展?fàn)顟B(tài)。目前大部分瀏覽器如Chrome、IE、Firefox、Opera等均可不同程度地支持HTML5。
這個新特性實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時傳送,使得服務(wù)器與客戶端、瀏覽器之間能夠雙向連接,直到明確關(guān)閉該連接才斷開。通過Web Socket技術(shù)構(gòu)建的HTML5應(yīng)用,用戶不再需要頻繁的刷新頁面以獲取新數(shù)據(jù),新數(shù)據(jù)會自動由服務(wù)器端推送至用戶的電腦屏幕上。這就大大擴(kuò)展了網(wǎng)頁自動獲取新數(shù)據(jù)的功能,達(dá)到即時聊天工具的效果。
雖然目前無線網(wǎng)的覆蓋率在逐步擴(kuò)大,但由于飛機(jī)、火車等交通工具或封閉室內(nèi)環(huán)境的限制,使得基于網(wǎng)絡(luò)連接的Web應(yīng)用受到制約。HTML5的離線存儲功能很好地解決了這個問題。它的Web Storage API會生成一個包含一系列URL的列表文件,這些URL可以指向HTML、JavaScript、css等資源,瀏覽器一旦讀取這個文件,就會下載相關(guān)資源并緩存在本地,保證用戶離線后仍然可以訪問。
隨著移動網(wǎng)絡(luò)的流行,用戶對實(shí)時定位的需求也越來越高。HTML5提供應(yīng)用接口--Geolocation API,能夠通過GPS或者網(wǎng)絡(luò)信息獲取用戶當(dāng)前位置。在室外空間信號強(qiáng)度高,GPS能發(fā)揮定位作用;但在打雷下雨天氣或周圍遮擋物較多時,根據(jù)IP、WiFi、MAC地址等可以推斷出位置信息。
HTML5中video元素支持OGG、WebM及MPEG4三種視頻格式,audio元素支持OGG、MP3及WAV三種音頻格式。audio和video標(biāo)簽讓W(xué)eb頁面輕松實(shí)現(xiàn)媒體的嵌入,它們的編碼標(biāo)準(zhǔn)是中立的,意味著瀏覽器廠商可以自己使用任何種編碼輸出媒體。HTML5對音頻、視頻文件的支持使得瀏覽器擺脫了對插件的依賴,加快了頁面的加載速度,擴(kuò)展了互聯(lián)網(wǎng)多媒體技術(shù)的發(fā)展空間。
HTML5 的canvas標(biāo)簽使用JavaScript 在網(wǎng)頁上繪制圖像,擁有多種繪制矩形、路徑、字符及添加圖像的方法,可以控制畫布中的每一像素,用戶不使用其他插件便可在網(wǎng)頁上隨意涂鴉。除此之外,開發(fā)者可以充分利用這一標(biāo)簽,開發(fā)出更加頁面更加絢麗的交互式游戲。
HTML5的File API接口設(shè)計,使得類似于桌面的文件拖拽并上傳到服務(wù)器成為可能。這一技術(shù)改變了傳統(tǒng) Web應(yīng)用程序上傳文件的方式,不僅給用戶帶來了方便,而且內(nèi)存管理系統(tǒng)在需要大量文件上傳時也會從中受益。
HTML5中的多線程是指在Web應(yīng)用程序中可以并發(fā)執(zhí)行多個JavaScript 腳本,每個腳本執(zhí)行都是彼此獨(dú)立的一個線程。HTML5中提出了工作線程(Web Worker)的概念,并希望具有響應(yīng)時間長、啟動性能良好、內(nèi)存消耗低的特征。工作線程的引入使得JavaScript引擎可以并發(fā)地執(zhí)行JavaScript代碼,從而實(shí)現(xiàn)了對瀏覽器端多線程編程的支持。
表單負(fù)責(zé)數(shù)據(jù)采集功能,是Web應(yīng)用程序中的重要組成部分。其中的數(shù)據(jù)驗(yàn)證功能需要瀏覽器一方借助腳本檢查表單信息。HTML5提供了新的表單樣式工具,提高輸入類型多樣化,表單結(jié)構(gòu)也更加自由,開發(fā)者可以開發(fā)出更加智能的表單輸入。
新的結(jié)構(gòu)元素:
(1)
(2)
(3)
(4)
新的內(nèi)聯(lián)元素:
(1)
(2)
(3)
新的內(nèi)嵌元素:
(1)
(2)
新的交互元素:
(1)
(2)
(3)
HTML5引入新特性的同時也帶來了新的問題。Web socket為瀏覽器提供了網(wǎng)絡(luò)通信堆棧,攻擊者利用這項(xiàng)特性,可以輕易地進(jìn)行后門通信。使用離線存儲功能時,由于數(shù)據(jù)存儲在本地并且永不過期,攻擊者很可能盜取這些未加密數(shù)據(jù),造成用戶的個人信息泄露。根據(jù)地理定位,攻擊者可以隨時獲取任何人的位置信息,給用戶帶來不必要的麻煩。雖然HTML5能夠進(jìn)行多媒體播放,但可支持的音頻、視頻格式有限,在技術(shù)上還需要很大的提高才能完全丟棄插件。
除此之外,HTML5的發(fā)展也受到社會、公司、開發(fā)者等方方面面的約束。目前支持HTML5技術(shù)的僅有少數(shù)最新版本的瀏覽器,并且支持程度參差不齊,不能保證最大限度地發(fā)揮HTML5的優(yōu)勢。同時HTML5仍處在不斷地研究與完善中,并沒有得以廣泛應(yīng)用。在它的發(fā)展期間,F(xiàn)lash等將要在HTML5中被廢棄的插件將會不斷發(fā)展,獲取最新的用戶體驗(yàn)。HTML5能否在未來超越插件、獲取用戶的青睞不可預(yù)測。同時新標(biāo)簽的引入對開發(fā)者和圖形設(shè)計師而言是一個巨變,他們能否接受并適應(yīng)這些變化,決定了HTML5將何去何從。
快速發(fā)展的HTML5浪潮激發(fā)了人們無限的遐想,相對于其他標(biāo)準(zhǔn)的領(lǐng)先優(yōu)勢讓許多人視它為未來 Web應(yīng)用的主宰。但無數(shù)的歷史經(jīng)驗(yàn)告訴我們:好的標(biāo)準(zhǔn)未必是最后的勝利者。HTML5目前只是初具規(guī)模,它還需要不斷研究與完善。我們應(yīng)當(dāng)實(shí)時審時度勢,發(fā)展壯大新技術(shù),最終實(shí)現(xiàn)成為下一代Web應(yīng)用開發(fā)標(biāo)準(zhǔn)的目標(biāo)。
[1]White Paper.Towards Real-time Interaction on the Web[EB/OL].2010-03-12[2010-11-05].http://pulsarlabs.org/files/2010-03-12_PulsarLabs_White_Paper.pdf.
[2]劉天寅.HTML5與未來的WEB應(yīng)用平臺[J].陰山學(xué)刊.2010.
[3]沈建苗.警惕 HTML5引發(fā)新的安全問題[N].計算機(jī)世界.2010.