HTML 5倍受青睞,XHTML 2處境尷尬
前不久結(jié)束的Google I/O大會(huì)上,Google演示了一系列基于HTML 5技術(shù)之上的web應(yīng)該,其中包括離線存儲(chǔ)、用戶交互、2D繪畫等,并表示將來(lái)在Adroid和Chrome中加大對(duì)HTML 5的支持。微軟也表示在下一的瀏覽器中逐漸加入對(duì)HTML 5的支持。網(wǎng)上對(duì)HTML 5 和 XHTML 2的比較有不少很好的文章,都值得參考,這里我不想說(shuō)太多技術(shù)上的東西,只談?wù)勛约簩?duì)于HTML 5 和 XHTML 2兩種標(biāo)準(zhǔn)的理解。
一、未來(lái)的Web都需要這兩種標(biāo)準(zhǔn)
HTML 5旨在提高網(wǎng)頁(yè)性能,增加頁(yè)面交互。HTML 5中增加了不少新的標(biāo)簽,如audio、video、canva等,其交互功能都大超過(guò)了XHTML 1.1t和HTML 4.01,這比完全依賴于JavaScript來(lái)實(shí)現(xiàn)這些功能效率更高更準(zhǔn)確。HTML 5讓頁(yè)面內(nèi)容更加豐富,使超文本更加名副其實(shí)。而XHTML 2.0更加注重頁(yè)面規(guī)范和可用性。在XHTML 1.1的基礎(chǔ)上,XHTML 2.0根據(jù)原定目標(biāo)——使Web語(yǔ)言逐漸由HTML過(guò)度到XML——做出了巨大改進(jìn)。從Web標(biāo)準(zhǔn)的角度說(shuō),XHTML 2.0是一個(gè)飛躍,這一點(diǎn)HTML 5則做的不夠好。不過(guò)HTML 5還提供了另種解析方式,將MIME類型設(shè)定為 application/xhtml+xml時(shí),瀏覽器會(huì)使用XML解析器對(duì)其進(jìn)行解析,所以HTML 5的正確名稱應(yīng)該是X/HTML 5。
我們拋開HTML 5與XHTML 2中新增加的標(biāo)簽等不說(shuō),未來(lái)的Web需要更加強(qiáng)大的功能以實(shí)現(xiàn)更加豐富的頁(yè)面表現(xiàn),但是同樣未來(lái)的Web編寫應(yīng)該更加規(guī)范,更加體驗(yàn)web的易用性,不過(guò)兩方面卻體現(xiàn)兩種規(guī)范中,雖然瀏覽器可以通過(guò)不同的命名空間來(lái)區(qū)分它們,但是我們卻無(wú)法在同一個(gè)文檔中同時(shí)使用兩種規(guī)范。
二、我們不需要兩種規(guī)范
HTML 5還有一個(gè)優(yōu)點(diǎn)是它的向后兼容性,HTML 4在HTML 5的命名空間中仍然可以使用,但是XHTML 2卻與XHTML 1.1出現(xiàn)了斷層,這也是XHTML 2.0的一個(gè)軟肋。HTML 5和XHTML 2的競(jìng)爭(zhēng)實(shí)際上是瀏覽器廠商和W3C標(biāo)準(zhǔn)組織的競(jìng)爭(zhēng),其未來(lái)的結(jié)果很可能是一種妥協(xié)方案:瀏覽器同時(shí)支持兩種規(guī)范。這看似不錯(cuò),但是仔細(xì)想想,我們根據(jù)不需要兩種規(guī)范。因?yàn)樽罱K結(jié)果是我們的web文檔只能是其中的一個(gè),難道讓我們?cè)趯?shí)現(xiàn)強(qiáng)大功能的時(shí)候放棄更加優(yōu)秀的web標(biāo)準(zhǔn)?而且HTML 5和XHTML 2在標(biāo)簽上存在很大差異,這與HTML 4和XHTML 1.1區(qū)別完全不同,我們幾乎不需要去記憶哪個(gè)標(biāo)簽可能在HTML 4中使用哪個(gè)可能在XHTML 1.1中使用,因?yàn)樗麄冊(cè)谶@方面幾乎沒有區(qū)別,但是HTML 5和XHTML 2不同,他們各自有不同的標(biāo)簽,如果你一不小心記錯(cuò)的話,你可能會(huì)遇到不小的麻煩,這無(wú)論對(duì)于web開發(fā)初學(xué)者還是其他人員來(lái)說(shuō)都將是個(gè)問題。
我的期望是HTML 5和XHTML 2即便真的作為兩種規(guī)范問世,那么他們的區(qū)別也僅僅是HTML 4與XHTML 1.1的區(qū)別。我們可以通過(guò)簡(jiǎn)單修改命名空間(HTML不需要命名空間,但是X/HTML 5需要),少量修改代碼即可完成轉(zhuǎn)換。競(jìng)爭(zhēng)是好的,但不要各自為政,相互融合相互借鑒才會(huì)產(chǎn)生好的標(biāo)準(zhǔn)。我知道W3C的工作組看不起WHATWG的自私自利,WHATWG也瞧上W3C的傲慢,但是所有的標(biāo)準(zhǔn)只有得到瀏覽器的支持才是有用的標(biāo)準(zhǔn),所有的瀏覽器都支持統(tǒng)一有約束力的標(biāo)準(zhǔn)Web開發(fā)才能進(jìn)行。所以也許兩者最后成為一個(gè)標(biāo)準(zhǔn)才是最好的選擇。
三、也許一切都要等到十年后
XHTML 2已經(jīng)公布了第8個(gè)工作草稿,但是仍然存在一些問題,當(dāng)然最重要的問題就是瀏覽器的問題。目前瀏覽器無(wú)論對(duì)于XHTML 2還是HTML 5的支持都非常非常少,要比對(duì)CSS 3的支持還要少,所以當(dāng)我們真正可以使用它們來(lái)做開發(fā)工具的時(shí)候,也許是2020年了。不過(guò),我們?cè)谝磺羞€沒有成為現(xiàn)實(shí)之前,盡可能使之完美。
【編輯推薦】