Web 開發者對HTML5 的期望越來越強烈,作為一個以文件為中心的置標協議,HTML 越來越不能滿足現代Web 應用的需要,何況,這個協議已經有超過10 年沒有更新了。 HTML5 旨在解決Web 中的交互,媒體,本地操作等問題,一些瀏覽器已經嘗試支援HTML5 的一些功能,而開發者們有望最終從那些Web 插件中得到解脫。
不過,需要指出的是,儘管一些重量級Web 技術廠家,象Apple,Google, Mozilla 基金會, Vimeo,YouTube 已經開始支持這個新標準,但W3C 表示,HTML5 前面的路還很長,它的一些細則目前還存在爭議,主流的Web 在轉至HTML5 之前還要經過很長的時間,而開發者們也不得不面臨兩難的境地,就是如何使用現在的技術設計出富Web 應用,同時又為今後的HTML5 做好準備。
富Web 的現代HTML
富Web 應用與HTML 之間並不般配,Web 之父Tim Berners-Lee 這樣看待HTML,它是一種用來創建平台獨立的超文本文檔的置標語言,隨著XHTML 的誕生,W3C 也將網頁視為文檔。
這樣那些視Web 為應用平台的開發者十分惱火,2004年,Apple, Mozilla 基金會和Opera 成立了一個超文本應用技術工作小組(WHATWG),尋求創建一個W3C 之外的標準組織,以打造一個更適合應用的Web。
2007年,他們的XHTML2 陷入永無止境的紛爭之中,後來,W3C經投票決定吸收WHATWG 的工作成果,並作為HTML5 的標準,這時,即使Tim Berners-Lee 也對面向應用的Web 伸出橄欖枝,他說,現在看來,我們面向XML 所做的那些努力是無效的。
這並非說純淨的XML 語法已死,雖然HTML 的發展方向已改,但在HTML5 發展的同時,XHTML5 也在同步進行中,區別在於,XHTML 將適用於那些已經向XML 轉換的人,而對於普通開發者,則不一定使用XHTML。
HTML5: 標籤的改變
HTML5 吸收了XHTML 2 的一些建議,包括一些用來改善文檔結構的功能,例如,新的HTML 標籤header, footer, dialog, aside, fugure 等的使用,將使內容創作者更加語義地創建文檔,之前的開發者在這些場合是一律使用div 的。
HTML5 也包含了一些將內容和展示分開的努力,開發者也許會驚訝,b 和i 標籤仍然存在,但它們的意義已經和之前有所不同,這些標籤的意義只是為了將一段文字標識出來,而不是為了為它們設定粗體或斜體式樣。 u,font,center,strike 這些標籤則被完全去掉了。
新標準適用了一些全新的表單輸入對象,包括日期,URL,Email 地址,其它的對象則增加了對非拉丁字元的支援。 HTML5 還引入了微數據,一種使用機器可以識別的標籤標註內容的方法,使語意Web 的處理更為簡單。總的來說,這些與結構相關的改進使內容創建者可以創建更乾淨,更容易管理的網頁,這樣的網頁對搜尋引擎,對讀屏軟體等更為友好。
實現基於標準的富Web
然而,HTML5 最令人振奮的是那些讓開發者實現富應用的新API,諸如圖形,動畫,多媒體,在HTML5 之前,這些功能的實現需要Flash,RealMdeia,QuikTime 一類的插件,這些插件技術不僅容易帶來安全隱患,而且它的受眾是受限的。
HTML5 透過使用相應的置標語言解決了這些問題,內容創建者可以使用類似MathML 以及SVG 之類的語言實現數學公式和圖形的創建,這些語言比Flash, Silverlight 一類的格式更容易跨平台使用。
Web 開發者們更會為HTML5 的audio 和ideo 標籤歡呼,這些標籤讓Web 頁面輕鬆實現媒體的嵌入,它們的編碼標準是中立的,意味著瀏覽器廠商可以自己使用何種編碼輸出媒體,而它的video 標籤更將使那些不支援Flash 的行動瀏覽器獲益匪淺。
Canvs 標籤會讓互動式Web 圖形更上層樓,開發者可以使用JavaScript 操作canvas 中的對象,實現即時的互動式圖形操作,甚至實現互動式遊戲。除了這些可以看到的變化,HTML5 還引入基於瀏覽器的程式緩存,將應用資料在本地緩存(就像之前的Google Gears 插件),這不僅能加速Web 程式的運行,還可以使一些程式在離線時仍可使用。事實上,Google 現在慢慢取消對Gears 的支持,全面轉向HTML5。
瀏覽器插件:還不至於死
儘管HTML5 推出了這麼多新功能,但不要指望那些插件會一夜消失,純粹的HTML5 要實現目前這個插件世界的全部功能還要很長的時間,更不要說那些需要繼續支援的舊系統。例如,雖然Vimeo 和YouTube 已經開始使用video 標籤輸出視頻,然而事情並不是那麼簡單,W3C 還沒有確定使用何種編碼方案,這意味著,那些視頻並不能保證在任何設備上都能觀看。例如Apple, Google 以及微軟都主推H.264 編碼,而開源的Firefox 則不願意,因為有授權問題。
另外,並不是所有舊系統都會以HTML5 重寫,例如,儘管Google 自己都不再看好Google Gears 而主推HTML5,但Gooel 承認,HTML5 並不能實現Google Gears 的全部功能,將基於Google Gears 的應用轉換為純HTML5 是不可能簡單實現的。
最後,五花八門的瀏覽器也會阻礙Web 開發者們向HTML5 轉移,IE6,舊版的Firefox,Opera,Safari 都不支援HTML5,因此,除非,絕大多數人的瀏覽器都升級到最新狀態,否則,面向HTML5 的開發仍將面臨各種困境。
早期採用者
儘管微軟已經表示,IE9 會支援HTML5,但他們對此事也抱持謹慎態度,微軟認為,在HTML5 標準都未確立的今天,說自己的瀏覽器支援多數HTML5 功能是不妥的。事實上,任何組織都不可能比W3C 更清楚HTML5 的進度,而W3C 認為,HTML5 標準仍未成熟,功能確立要到2011年前才能完成,即使到了那時,將這些東西確立為標準也需要到2022年,也就是說,XHTML1.1 到HTML5 大約要15年。
不管怎麼說,HTML5 將是未來5 到10 年最前沿的技術,那些早期採用這可以在網絡中找到大量的體驗站點,目前,體驗HTML5 的最佳瀏覽器是那些基於Webkit 引擎的瀏覽器,如Chrome 和Safari,Firefox 不太流暢。 Web 開發者可以使用目前的HTML5 草案來建立試驗站點,當然在目前瀏覽器分佈體系下,還會有些問題,線上最好的HTML5 開發資源是Mark Pilgrim's excellent Dive into HTML5 。
HTML5 體驗站點
Mozilla Bespin | An in-browser programmer's editor written using HTML technologies |
Youtube | YouTube's HTML5 player offers experimental HTML5 support |
Vimeo | Vimeo movies offer a link at the bottom for switching to an HTML5 player (Chrome, Safari, IE+Chrome Frame) |
Merge Design | An HTML5 geolocation demo |
Sticky Notes | A demonstration of HTML5 client-side storage |
Wolfenstein 3D | Demo using the canvas tag (with how-to ) -- works in Firefox 3.6 |
ClouserW Soundboard | An HTML5 sound board showing off multimedia capabilities |
Google Wave | Google Wave relies on HTML5 for some of its features |
FreeCiv | A game implemented in HTML5 |
本文來源:http://www.infoworld.com/d/developer-world/what-expect-html5-611?page=0,0
中文編譯來源:銳商企業CMS網站內容管理系統官方網站