你所不知道的HTML - 從 XHTML2 到 HTML5 (1)
HTML5 出來其實也有很長一段時間了。因為這個那個的原因,在HTML5剛出爐時,我根本就沒對它有任何重視。直到有一天突然看到某人搞了個東東,里面用到了 HTML5中的一個特性——canvas,才突然意識到:“天哪!XHTML2還沒站穩腳跟,就給這小子找到火柴了!” (注:即老趙blog文章中提到的HTML5事件,的確受到了不小打擊的……)
在切入正題之前,大家先看下面這個演示:
按箭頭鍵還能使這個多面體旋轉哦~
很好玩吧?這個小玩意兒就用到了HTML5的新特性——canvas
這個東東的代碼是從polyhedra.org上看來的,并作了小小的修改,使它能適應cnBlogs的博客。而polyhedra.org的代碼,則用的是google的開源代碼——其實,google maps上的很多效果都用到了這個canvas特性。剛剛出現的HTML5, 其實離你只有一步之遙。
-XHTML2的尷尬
如果你關心過前臺開發的新技術,那么你或許會知道,W3C組織在推HTML5之前,準備推的是XHTML2的規范。突然轉眼之間又弄出HTML5這么個東東來,究竟是為什么的?
這要從XHTML的目的說起。
W3C制定XHTML的目的,是最終希望將一個web網頁的文檔結構完全從表現和行為中解放出來,并最終使其成為一個通用的語言——它不僅可以用于構建一個網頁的結構,而且可以用來構建一個更通用的文檔結構。
這種文檔結構的最好例子就是書。一本書有標題(相當于一個網頁的title),目錄(也就是我們說的導航),章節標題(h1~h6, 以及XHTML2中新定義的h),章節(XHTML2中甚至新定義了一個section元素來表示這個以前在HTML/XHTML中沒有的結構),段落 (p元素),列表(ul, ol)等等。XHTML的最終目的就是用XML的語法來定義這么一個文檔結構的框架。你要寫書,只要照著這個框架填內容就可以了。至于這本書由什么出版社 出版,多少開本印刷,是不是要做成電子版等等,都不是XHTML2要關心的東東。
這么看來似乎XHTML2是個很好的規范,因為它減少了文檔結構和表現/行為的耦合。而任何一個程序員都知道,耦合是越低越好,那么W3C怎么又搞出HTML5這么個東東呢?
其實大家可以想想,既然有書,為什么大多數人還是喜歡逛網站、博客去看一些在書本上都能找到的東西呢?很簡單:因為書本有個很大的缺點——缺乏互動 性。你不能把書上的一張圖片從一頁拖拽到另一頁,也不能通過書本來和別人交流。一份文檔,給你提供的最終實質,就是穩當的內容而已——這就是 XHTML2, 只有內容結構。
當然,XHTML2被提出的時候只有2002年,整個XHTML概念成型在2000年左右。那時還是整一個win98的時代,當時的人們估計是萬萬 沒想到web application 現在會這么火,只是一心想從設計模式上改進原有的HTML系統罷了。從設計模式上來講,XHTML2是非常優秀的,但是短短6年間,XHTML2就有些跟 不上web 2.0的腳步了。在這個web application大行其道的年代,用戶并不會關心你頁面采用了如何優秀的設計模式。他們只會關心這個網頁是不是夠炫,功能夠不夠好用。因此交互成為 互聯網應用的關鍵,而非原來的數據共享。
于是就催生了HTML5這么個另類的東東。
未完待續~現在偶先去呼呼了@@