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