HTML 5將給開發(fā)者帶來什么?
在新的時(shí)代里,相信網(wǎng)頁技術(shù)會(huì)伴隨HTML 5的來臨進(jìn)入大洗牌的局面,HTML 5旨在解決Web中的交互,媒體,本地操作等問題,一些瀏覽器已經(jīng)嘗試支持HTML 5的一些功能,而開發(fā)者們有望最終從那些Web插件中得到解脫。
不過,需要指出的是,盡管一些重量級Web技術(shù)廠家,象Apple,Google,Mozilla基金會(huì),Vimeo,YouTube已經(jīng)開始支持這個(gè)新標(biāo)準(zhǔn)。但W3C表示,HTML 5前面的路還很長,它的一些細(xì)則目前還存在爭議,主流的Web在轉(zhuǎn)至HTML 5之前還要經(jīng)過很長的時(shí)間。而開發(fā)者們也不得不面臨兩難的境地,就是如何使用現(xiàn)在的技術(shù)設(shè)計(jì)出富Web應(yīng)用,同時(shí)又為今后的HTML 5做好準(zhǔn)備。
富Web的現(xiàn)代HTML
富Web應(yīng)用和HTML之間并不般配,Web之父TimBerners-Lee這樣看待HTML,它是一種用來創(chuàng)建平臺(tái)獨(dú)立的超文本文檔的標(biāo)記語言,隨著XHTML的誕生,W3C也將網(wǎng)頁視為文檔。這樣那些視Web為應(yīng)用平臺(tái)的開發(fā)者十分惱火,2004年,Apple,Mozilla基金會(huì)和Opera成立了一個(gè)超文本應(yīng)用技術(shù)工作組(WHATWG),尋求創(chuàng)建一個(gè)W3C之外的標(biāo)準(zhǔn)組織,以打造一個(gè)更適合應(yīng)用的Web。
2007年,他們的XHTML2陷入永無止境的紛爭之中。后來,W3C經(jīng)投票決定吸納WHATWG的工作成果,并作為HTML 5的標(biāo)準(zhǔn)。這時(shí),即使TimBerners-Lee也對面向應(yīng)用的Web伸出橄欖枝,他說,現(xiàn)在看來,我們面向XML所做的那些努力是無效的。這并非說純凈的XML語法已死,雖然HTML的發(fā)展方向已改,但在HTML 5發(fā)展的同時(shí),XHTML 5也在同步進(jìn)行中,區(qū)別在于,XHTML將適用于那些已經(jīng)向XML轉(zhuǎn)換的人,而對于普通開發(fā)者,則不一定使用XHTML。
HTML 5:標(biāo)簽的改變
HTML 5吸取了XHTML2的一些建議,包括一些用來改善文檔結(jié)構(gòu)的功能,比如,新的HTML標(biāo)簽header,footer,dialog,aside,fugure等的使用,將使內(nèi)容創(chuàng)作者更加語義地創(chuàng)建文檔,之前的開發(fā)者在這些場合是一律使用div的。
HTML 5還包含了一些將內(nèi)容和展示分離的努力,開發(fā)者們也許會(huì)驚訝,b和i標(biāo)簽依然存在,但它們的意義已經(jīng)和之前有所不同,這些標(biāo)簽的意義只是為了將一段文字標(biāo)識(shí)出來,而不是為了為它們設(shè)置粗體或斜體式樣。u,font,center,strike這些標(biāo)簽則被完全去掉了。
新標(biāo)準(zhǔn)適用了一些全新的表單輸入對象,包括日期,URL,Email地址,其它的對象則增加了對非拉丁字符的支持。HTML 5還引入了微數(shù)據(jù),一種使用機(jī)器可以識(shí)別的標(biāo)簽標(biāo)注內(nèi)容的方法,使語義Web的處理更為簡單。總的來說,這些與結(jié)構(gòu)有關(guān)的改進(jìn)使內(nèi)容創(chuàng)建者可以創(chuàng)建更干凈,更容易管理的網(wǎng)頁,這樣的網(wǎng)頁對搜索引擎,對讀屏軟件等更為友好。
實(shí)現(xiàn)基于標(biāo)準(zhǔn)的富Web
然而,HTML 5最令人振奮的是那些讓開發(fā)者們實(shí)現(xiàn)富應(yīng)用的新API,諸如圖形,動(dòng)畫,多媒體,在HTML 5之前,這些功能的實(shí)現(xiàn)需要Flash,RealMdeia,QuikTime一類的插件,這些插件技術(shù)不僅容易帶來安全隱患,而且它的受眾是受限的,HTML 5通過使用相應(yīng)的置標(biāo)語言解決了這些問題,內(nèi)容創(chuàng)建者可以使用類似MathML以及SVG之類的語言實(shí)現(xiàn)數(shù)學(xué)公式和圖形的創(chuàng)建,這些語言比Flash,Silverlight一類的格式更容易跨平臺(tái)使用。
Web開發(fā)者們更會(huì)為HTML 5的audio和ideo標(biāo)簽歡呼,這些標(biāo)簽讓W(xué)eb頁面輕松實(shí)現(xiàn)媒體的嵌入,它們的編碼標(biāo)準(zhǔn)是中立的,意味著瀏覽器廠商可以自己使用何種編碼輸出媒體,而它的video標(biāo)簽更將使那些不支持Flash的移動(dòng)瀏覽器獲益匪淺。
Canvs標(biāo)簽會(huì)讓交互式Web圖形更上一層樓,開發(fā)者可以使用JavaScript操作canvas中的對象,實(shí)現(xiàn)實(shí)時(shí)的交互式圖形操作,甚至實(shí)現(xiàn)交互式游戲。除了這些可以看到的變化,HTML 5還引入基于瀏覽器的程序緩存,將應(yīng)用數(shù)據(jù)在本地緩存(就像之前的GoogleGears插件),這不僅能加速Web程序的運(yùn)行,還可以使一些程序在離線時(shí)仍可使用。事實(shí)上,Google現(xiàn)在慢慢取消對Gears的支持,全面轉(zhuǎn)向HTML 5。
瀏覽器插件:還不至于死
盡管HTML 5推出了這么多新功能,但不要指望那些插件會(huì)一夜消失,純粹的HTML 5要實(shí)現(xiàn)目前這個(gè)插件世界的全部功能還要很長的時(shí)間,更不要說那些需要繼續(xù)支持的舊系統(tǒng)。比如,雖然Vimeo和YouTube已經(jīng)開始使用video標(biāo)簽輸出視頻,然而事情并不是那么簡單,W3C還沒有確定使用何種編碼方案,這意味著,那些視頻并不能保證在任何設(shè)備上都能看。比如Apple,Google以及微軟都主推H.264編碼,而開源的Firefox則不愿意,因?yàn)榇嬖谠S可問題。
另外,并不是所有舊系統(tǒng)都會(huì)以HTML 5重寫,比如,盡管Google自己都不再看好GoogleGears而主推HTML 5,但Gooel承認(rèn),HTML 5并不能實(shí)現(xiàn)GoogleGears的全部功能,將基于GoogleGears的應(yīng)用轉(zhuǎn)換為純HTML 5是不可能簡單實(shí)現(xiàn)的。
最后,五花八門的瀏覽器也會(huì)阻礙Web開發(fā)者們向HTML 5轉(zhuǎn)移,IE6,舊版本的Firefox,Opera,Safari都不支持HTML 5,因此,除非,絕大多數(shù)人的瀏覽器都升級到最新狀態(tài),否則,面向HTML 5的開發(fā)仍將面臨各種困境。
早期采用者
盡管微軟已經(jīng)表示,IE9會(huì)支持HTML 5,但他們對此事也抱謹(jǐn)慎態(tài)度,微軟認(rèn)為,在HTML 5標(biāo)準(zhǔn)都未確立的今天,說自己的瀏覽器支持多數(shù)HTML 5功能是不妥的。事實(shí)上,任何組織都不可能比W3C更清楚HTML 5的進(jìn)度,而W3C認(rèn)為,HTML 5標(biāo)準(zhǔn)仍未成熟,功能確立要到2011年前才能完成,即使到了那時(shí),將這些東西確立為標(biāo)準(zhǔn)也需要到2022年,也就是說,XHTML1.1到HTML 5大約要15年。
不管怎么說,HTML 5將是未來5到10年最前沿的技術(shù),那些早期采用這可以在網(wǎng)絡(luò)中找到大量的體驗(yàn)站點(diǎn),目前,體驗(yàn)HTML 5的最好瀏覽器是那些基于Webkit引擎的瀏覽器,如Chrome和Safari,F(xiàn)irefox不太流暢。Web開發(fā)者們可以使用目前的HTML 5草案創(chuàng)建試驗(yàn)站點(diǎn),當(dāng)然在當(dāng)前瀏覽器分布體系下,還會(huì)有些問題,線上最好的HTML 5開發(fā)資源是MarkPilgrim'sexcellentDiveintoHTML 5。
【編輯推薦】