HTML5標(biāo)準(zhǔn)制定完成:瀏覽器大戰(zhàn)能消停嗎?
昨天,萬維網(wǎng)聯(lián)盟(W3C)宣布,經(jīng)過將近8年的艱辛努力,HTML5標(biāo)準(zhǔn)規(guī)范終于最終制定完成并已公開發(fā)布。
狹義上,HTML5是HTML的第五個版本。HTML的全稱是超文本標(biāo)記語言(HyperText Markup Language),由萬維網(wǎng)的***蒂姆·伯納斯·李設(shè)計,是為創(chuàng)建網(wǎng)頁而設(shè)計的一種標(biāo)記語言。HTML利用標(biāo)簽來描述內(nèi)容的語義,使計算機(jī)能夠通過識別標(biāo)簽來正確處理內(nèi)容。
廣義上,HTML5是HTML5、CSS3、Javascript 2.0的統(tǒng)稱,因為對于現(xiàn)在的互聯(lián)網(wǎng)開發(fā)而言,這三者是密不可分的。HTML用于描述內(nèi)容,CSS用于定義樣式,Javascript用于實現(xiàn)功能。
HTML是互聯(lián)網(wǎng)的基石,目前互聯(lián)網(wǎng)上所有的網(wǎng)頁都是用HTML寫成的。但是HTML標(biāo)準(zhǔn)的演化速度卻遠(yuǎn)遠(yuǎn)跟不上互聯(lián)網(wǎng)的發(fā)展。事實上,上一個HTML標(biāo)準(zhǔn)HTML 4.01發(fā)布于1999年12月24日,已經(jīng)嚴(yán)重阻礙了互聯(lián)網(wǎng)的發(fā)展。
2004年,由Firefox、Opera、Apple、Google四大瀏覽器廠商組成的網(wǎng)頁超文本技術(shù)工作小組(Web Hypertext Application Technology Working Group),即WHATWG,宣布制定下一代HTML標(biāo)準(zhǔn),即HTML5。而當(dāng)時的萬維網(wǎng)聯(lián)盟(W3C)正在發(fā)展在XML和HTML基礎(chǔ)上設(shè)計的XHTML。
于是,W3C和瀏覽器廠商的***次大戰(zhàn)開始?;ヂ?lián)網(wǎng)的未來究竟是由標(biāo)準(zhǔn)組織W3C決定還是由瀏覽器廠商決定?這場大戰(zhàn)的決定性因素在于開發(fā)者們站在哪一邊。結(jié)果很明顯,開發(fā)者們當(dāng)然會站在瀏覽器那邊,畢竟瀏覽器是普通用戶接觸互聯(lián)網(wǎng)的唯一途徑。W3C于2007年接納了WHATWG的HTML5草案,并成立了新的HTML工作團(tuán)隊。
然而,在2012年,W3C和WHATWG再度分道揚鑣。而兩者的分歧在于WHATWG 集中于演進(jìn)“living”標(biāo)準(zhǔn),而 W3C 堅持使用傳統(tǒng)的數(shù)字編號系統(tǒng)定義靜態(tài)的“snapshots”。 WHATWG希望構(gòu)建互聯(lián)網(wǎng)的***一個標(biāo)準(zhǔn),即一個隨著互聯(lián)網(wǎng)發(fā)展不斷更新的HTML5標(biāo)準(zhǔn)。他們認(rèn)為W3C的HTML5標(biāo)準(zhǔn)一旦制定完成,即便出現(xiàn)錯誤也無法修正。而且他們認(rèn)為W3C的標(biāo)準(zhǔn)制定模式太過復(fù)雜,每一代標(biāo)準(zhǔn)的制定時間過長,不符合互聯(lián)網(wǎng)的發(fā)展速度。
所以,HTML5現(xiàn)在有兩個標(biāo)準(zhǔn),一個由W3C制定,一個由WHATWG制定。這會導(dǎo)致W3C和瀏覽器廠商的第二次大戰(zhàn)嗎?
當(dāng)然不會,對于瀏覽器廠商來說,贏得瀏覽器之戰(zhàn)比HTML5標(biāo)準(zhǔn)更重要。自從Google的Chrome重新掀起瀏覽器間的大戰(zhàn)之后,每一家瀏覽器都在根據(jù)自己的情況支持HTML5標(biāo)準(zhǔn),每一家瀏覽器的廣告都在吹噓自己對HTML5標(biāo)準(zhǔn)的支持。
所以,HTML5的標(biāo)準(zhǔn)已經(jīng)成為了既成事實,W3C的HTML5標(biāo)準(zhǔn)只是對這個既成事實的官方認(rèn)證而已。
那么,既然有了HTML5的官方標(biāo)準(zhǔn),瀏覽器大戰(zhàn)總該消停了吧。事實上,這場大戰(zhàn)依然在延續(xù),而開發(fā)者們依然需要為各大瀏覽器適配網(wǎng)頁。
舉例來說,HTML5標(biāo)準(zhǔn)設(shè)計了<video>標(biāo)簽,使得瀏覽器可以不借助Flash直接播放視頻文件。但是,HTML5標(biāo)準(zhǔn)卻沒有規(guī)定瀏覽器支持的視頻文件格式?,F(xiàn)在,F(xiàn)irefox主推Ogg,Chrome主推WebM,Safari主推H.264。也就是說,開發(fā)者如果要使用<video>標(biāo)簽,需要準(zhǔn)備多種格式的視頻文件。好消息是現(xiàn)在似乎H.264占據(jù)了上風(fēng)。
一次編寫,到處運行(Write once, Run anywhere)是每一個程序員的夢想。當(dāng)年的Java沒有做到,原本程序員們指望Web標(biāo)準(zhǔn)能夠做到。然而事實上是,只要瀏覽器大戰(zhàn)沒有消停,HTML5也做不到。