XHTML 2: 出師未捷身先死, HTML 5:萬千寵愛于一身

W3C 日前宣布將從2009年底起終止同 XHTML 2 工作組的合約,并以此暗示曾經一度野心勃勃的 XHTML  2 的正式死亡。Web 設計界是否該因此而恐慌?畢竟 XHTML 1.x 是所有對 Web 標準驗證有著某種情節的人的首選,然而事實并非如此,XHTML 2.0 偃旗息鼓已有時日,W3C 只是明確了它的死亡日期,并將主要精力傾注到他們的新寵兒,HTML 5 身上。

如何看待 Web 設計師們所鐘愛的 XHTML?

要弄明白 XHTML 如何獲得人們的青睞,得從 HTML4 說起。HTML 4 是一種松散的語言,它擁有很多選項,囊括了太多人們對 Web 的試驗性想法,一些是好的,一些是壞的,然而,要 HTML 4 為蹩腳的網頁代碼負責,好比要英語為低劣的小說負責。 HTML 4 也可以結構嚴謹并擁有合法的語義,只要設計師們知道該如何使用它。

而 XHTML 1.0 更嚴格,那些驗證工具更容易指出其中的錯誤,如果你很懶,又想保證自己的代碼結構嚴謹,XHTML 1.x 要容易檢查得多。

然而問題是,XHTML 的使命并非單單如此,XHTML 的使命在于它名字中的那個 X,X 的存在不是為了耍酷,而是因為 XHTML 事實上屬于 XML。象正在為 HTML 5 細則工作的 Henri Sivonen 指出的那樣,XHTML 事實上有兩個意義,一是技術上的,一是市場上的。

從技術的角度,XHTML 原本是要以 application/xhtml+xml MIME 類型輸出純粹的 XML 的,然而這種情形很少見,這并非說 XML 不重要,事實上未來的 XHTML 5 將對 HTML 5 提供序列化服務。而 XHTML 的大量使用更多是基于市場的角度,換句話說,那些采用 XHTML 語法的網頁仍然被瀏覽器按 text/html MIME 類型渲染,因此,盡管這些文檔屬于 XML,但它們并沒被當作真正的 XML,而是按 HTML 進行渲染。

人們為什么喜歡 XHTML?

既然 XHTML 就是 HTML,那些喜歡 XHTML 的人又是出于什么樣的初衷?答案是,XHTML 鼓勵良好的代碼習慣,所有標簽都需要完整,嚴謹,XHML 可以產生比 HTML 4 更干凈的代碼。

然而 HTML 5 已經解決了 HTML 4 中大部分的此類問題,它允許你使用 XHTML 1.x 式的嚴謹代碼,當然也允許 HTML 4 式的松散代碼,這意味著, Web 設計師們之前編寫的 XHTML 1.x 代碼可以直接轉到 HTML 5,只需更改一下 doctype 即可。

XHTML 2.0 錯在哪里?

盡管初衷是好的,但 XHTML 2.0 的夭亡來自兩件事,第一,它不向前兼容,意味著你寫的 XHTML 1.x 代碼無法直接用于 XHTML 2.0, 相反, HTML 5 卻向前兼容。第二,XHTML 2.0 并非 HTML 的 XML 化,而是一種全新的體系,它忽視了設計師們的需求。

而 HTML 5 卻包含了設計師們需要的很多東西,本地的音頻,視頻支持,多欄布局工具,離線數據庫,本地的矢量圖支持,這一切,XHTML 絲毫沒有觸及。

HTML 5 的光明未來

XHTML 2.0 雖然已被提出多年,然而迄今沒有任何瀏覽器實現對它的任何支持,HTML 5 卻得到了幾乎所有現代瀏覽器到青睞,包括 Firefox, Safari, Chrome, Opera,甚至 IE8 也實現了對它的某些支持

那些在 Web 領域野心勃勃的大廠商,比如 Google, Apple,已經推出基于 HTML 5 的 Web 服務,使用本地化視頻支持與本地數據庫實現了各種應用,而基于 XHTML 2.0 的應用卻幾乎沒有有。

另外,HTML 5 還推出了 XHTML 5 細則,XHTML 5 向當前 Web 中大量基于  XHTML 1.x 的網頁伸出橄欖枝,XHTML 1.x 如果僅僅是作為 HTML 的一種 XML 式編碼風格,并不會被遺棄,事實上,還會工作得更好。

延伸閱讀

本文國際來源:http://www.webmonkey.com/blog/XHTML_2_Dies_a_Lonely_Death__Makes_Room_For_HTML_5
http://www.w3.org/2009/06/xhtml-faq
中文翻譯來源:COMSHARP CMS 官方網站





評論
...
發表評論


用戶


評論(不超過1000字)


 4 + 4 = ? 請將左邊的算術題的結果填寫到左邊的輸入框  


  發送給朋友| 打印友好
7 x 12 小時服務熱線
0532 - 83669660
微信: comsharp
QQ: 13885509
QQ: 592748664
Skype: comsharp