HTML5:讓Web應用跟上多媒體時代

來源: 計算機世界  發布時間: 2010-03-31 10:53  閱讀: 1149 次  推薦: 0   [收藏]  

  HTML的前一次升級發生在大約10年前。10年來,互聯網飛速發展,而瀏覽器市場也風云變幻,現有的HTML標準在支持音視頻等多媒體應用上開始顯露不足。HTML5是響應互聯網最新變化的產物,然而,這一標準的最終通過以及真正落地注定是一個長期的過程。

  ■ 清水 編譯

  近日,微軟發布了Internet Explore 9(IE9)的技術預覽版。與前一個版本IE8相比,微軟進行了很多技術創新; 同時,也在對標準的支持上邁出了一大步,特別是對HTML5的支持,這對于Web開發者而言是一個好消息,也肯定會大大加速HTML5標準的推廣。

  HTML5是HTML的最新標準,HTML5的草案已經于2008年發布,目前W3C(萬維網聯盟)正在對此進行進一步完善,可能于今年年底或更晚些時候正式推出。對許多人來說,早該進行這種改進了。十多年來,HTML一直沒有進行真正的升級,上一次正式獲得W3C推薦(即Web標準制定過程的最終階段)的標準語言還是2001年的XHTML 1.1。此后的這些年,Web開發人員要求升級的呼聲越來越高。因為HTML和XHTML標準已力不從心,它們以文檔為中心的理念無法有效地滿足現代Web應用的需要。

  HTML5旨在改變這一切,這項新標準將包括更強大的用于交互、多媒體和本地化等方面的標簽以及應用編程接口(API)。隨著對HTML5功能特性的支持慢慢出現在目前主流的瀏覽器中,一些開發人員甚至已開始表達這種希望:這種經過更新的新HTML將會解放瀏覽器,讓瀏覽器不必再依賴Flash、QuickTime和Silverlight等專有插件。

  然而,雖然一些知名的內容發布網站已經開始支持這項新標準,如蘋果、谷歌、Mozilla 基金會、Vimeo和YouTube,但W3C的內部人士表示,HTML5前面的道路依然很坎坷。這項規范的有些部分仍存在爭議,而另一些部分尚未最終敲定。最終標準可能幾年后才會出現,而大部分網民用上兼容HTML5的瀏覽器則需要更長的時間。在此期間,開發人員將面臨一大難題:如何利用現有技術開發富Web應用,同時為今后順利過渡到HTML5做好準備。

  讓HTML跟上富互聯網時代

  富互聯網應用與 HTML并非一直是天作之合。按互聯網之父Tim Berners-Lee的說法,HTML就是“一種用來創建平臺獨立的超文本文檔的簡單標記語言。”XHTML(采用純XML格式的語言)問世后,W3C保留了把網頁視做文檔的這種理念,而幾項提議的XHTML標準注重文檔結構、與XML工具的兼容性以及Berners-Lee憧憬的語義Web等問題。

  這讓那些認為互聯網作為一種應用平臺還會有更大作為的開發人員深感沮喪。2004年,蘋果、Mozilla 基金會和 Opera軟件公司的代表共同成立了Web超文本應用技術工作組(WHATWG),這是個獨立的Web標準聯盟。WHATWG獨立于W3C組織開展工作,開始攜手改進HTML,方向是互聯網應以應用為中心。

  2007年,由于XHTML2方面的工作陷入了似乎無休止的爭論中,W3C投票決定采納WHATWG的工作成果,在此基礎上制定新的HTML5標準。至此,連Berners-Lee都改變了立場,支持互聯網以應用為中心。他在2006年曾寫道:“事隔幾年后想想,一些問題比較清楚。有必要逐步完善HTML,而試圖讓全世界一下子改用XML是行不通的。”

  這倒不是說純XML的標記語言這個想法已過時。雖然HTML在標準制定工作中重新扮演起主角,但采用XML格式的HTML5(名為XHTML5)同時也在開發中。區別在于,XHTML5將面向那些已經改用HTML5的人,而開發人員不再非得遵守XHTML的嚴格語法才能充分利用Web標記語言的最新功能特性。

  重新定義標簽

  盡管如此,HTML5還是繼承了當初提議為XHTML 2增添的許多特性,包括旨在改善文檔結構的許多功能特性。比如說,新的HTML標簽(如header、footer、dialog、aside和figure)讓內容創作者能夠以一致的方式,指定常用文檔元素。以前,開發人員不得不使用自定義類屬性的Div標簽來標記這類元素,這種自定義的方法使得HTML文檔很難解析。

  HTML5還繼續致力于把Web內容與表現分開來。比如,開發人員可能會驚訝地看到新標準中可以使用b元素和i元素,不過這些元素現在用來以類屬方式作為文本的一部分,而不代表任何特定的排版格式。比如,i元素過去代表斜體字體,而在HTML5中,它僅僅指“突出不同意見或語氣的一段文本”。與之相似的是,b元素并不代表特意加重字體的文本,而是代表文體上突出的不包含任何額外重要性的文本。

  相比之下,原先專門代表下劃線文本的u標簽在HTML5中被棄用了,一同棄用的還有其他針對特定表現的元素,包括font、center和strike。這類樣式屬性現在被認為是CSS所特有的。

  新標準為表單輸入元素引入了額外的數據類型,包括日期、URL和電子郵件地址,同時對部分原來的元素進行了修改,比如改進了對非拉丁文字符集的支持,包括用于指定出現在一些亞洲語言中的“附注文字”(ruby text)的標簽。HTML5還引入了微數據(Microdata)概念,這是一種用機器可讀標簽來標注HTML內容的方法,從而為語義Web簡化了處理。總之,這些結構上的改進讓內容創作者得以提交更干凈、更容易管理的網頁,這些網頁可與搜索引擎、屏幕閱讀軟件及其他自動化內容分析工具很好地兼容。

  實現更豐富、基于標準的Web

  但世人最迫切期待的HTML5新增方面卻是那些新的元素和API,讓內容創作者只要使用基于標準的HTML,就能制作豐富多媒體內容。現代網頁越來越多地采用可擴展圖形、動畫和多媒體,但到目前為止,這些功能要求使用Flash、RealMedia和QuikTime等專有插件。這類插件不但帶來了新的安全風險,還限制了網頁的受眾面。

  HTML5解決這個問題的一個辦法就是讓瀏覽器原生地支持相關的標記語言。內容創作者可以把用MathML(用于渲染公式)和SVG(用于渲染可擴展矢量圖形)編寫的標記直接嵌入到HTML5網頁中。這種更強的靈活性讓跨平臺的HTML比設計當初就既要支持圖形又要兼顧文本的Flash和Silverlight等更有競爭力。

  不過,Web開發人員對HTML5新的音頻和視頻標簽的呼聲更高,這些標簽最終目的是要很容易地把多媒體內容嵌入到網頁中。這些標簽在HTML5標準中要求與編解碼器無關,這意味著將由瀏覽器廠商負責提供能播放任何內容所需的編解碼器,只要符合一定標準就可以。其中,視頻標簽尤其被寄予厚望,因為對網上視頻提供商來說,它們希望自己的內容未來可以在蘋果的iPhone和即將發布的iPad上播放,這兩款設備目前都不支持Flash。

  畫布(Canvas)標簽讓交互式Web圖形向前邁進了一步,該標簽可用來把瀏覽器窗口的某些區域定義為動態位圖。Web開發人員可使用JavaScript來處理畫布中的內容,針對用戶操作實時渲染圖形。從理論上來說,這項技術有望讓開發人員只要使用JavaScript和HTML,就能開發出完全交互的游戲。

  除了這些顯示技術外,HTML5還引入了基于瀏覽器的應用緩存概念,應用緩存讓Web應用可以把信息存儲在客戶端設備上。與谷歌Gears 插件一樣,這些緩存既提升了應用性能,又可以讓用戶即便無法連接互聯網,也能繼續使用Web應用。實際上,谷歌已經計劃逐步停止支持Gears,改而支持HTML5技術。

  瀏覽器插件還沒過時

  盡管HTML5有諸多新特性,但也別指望插件會一夜之間銷聲匿跡。Web向來就有多種相互競爭的技術與媒體格式共存的傳統,且很難克服這種傳統的強大慣性。也許很多年以后,純HTML5瀏覽器的性能才趕得上如今各式各樣的客戶端。

  比如,盡管Vimeo和YouTube已經在試用HTML5 Video標簽部署HTML5多媒體內容,卻不會像聽上去那么容易。W3C決定不在HTML5標準中明確規定用哪種特定的媒體編解碼器,這意味著開發人員無法保證任何一種媒體格式在每一種客戶端設備上都能播放。比如,蘋果、谷歌和微軟都在力推H.264視頻格式,但Firefox和Konqueror等開源瀏覽器卻無法(或者說思想上不愿)把支持這種格式的相應專利權授給別人。除非解決這個問題,否則Web內容創作者要想覆蓋最廣泛的受眾面,可能只好繼續依賴Flash。

  也并不是每個舊的Web應用都能針對HTML5進行改寫。比如,盡管谷歌低調對待自身的Gears技術,青睞基于標準的本地應用存儲方法,但Gears API和HTML5應用緩存API并不完全一樣。谷歌自己承認“目前還沒有一種簡單、全面的方法可以讓具有Gears功能的應用(連同整個用戶群)都改用基于標準的方法。”除非真有這種方法,否則連使用完全兼容HTML的瀏覽器的用戶也可能只好安裝Gears以支持這些過去開發的Web應用。

  最后,對鐘情于HTML5的開發人員來說,瀏覽器市場份額也許是最大的障礙。盡管IE6存在渲染問題、在Web標準支持方面落后,卻似乎仍是不可能馬上消失的瀏覽器。舊版本的 Firefox、Opera、Safari及其他瀏覽器也有龐大的用戶群,而它們中沒一個支持HTML5。除非這些瀏覽器換成新版,否則Web開發人員可能需要同時維護兩個版本的網站:一個面向HTML5用戶的版本,另一個面向依賴過時渲染方法的面向舊瀏覽器的版本。

  蘋果的iPhone和iPad青睞HTML5,不支持Flash,隨著HTML5日趨成熟,預計它們會支持這項標準。與之相似的是,谷歌的Chrome瀏覽器在支持HTML5方面一路領先,而基于該公司即將推出的Chrome OS的設備預計會亦步亦趨。不過,各大內容發布網站在標準支持方面一向很保守,就算擁有龐大的HTML5用戶群,財富500強公司可能也在多年以后才愿意冒險升級。

  如何向HTML5過渡?

  Web開發社區的不少人認為轉向HTML5要謹慎。比如,雖然微軟計劃在IE9中支持HTML5,但這家軟件業巨擘對于在HTML5還沒有正式成為標準之前支持它心存疑慮。微軟Windows事業部總裁Steven Sinofsky最近接受采訪時表示:“先說自己基于標準,但隨后又說你是最兼容HTML5的瀏覽器,這種做法不明智,因為這項標準還沒有制定完畢。”

  W3C也對HTML5的前景持謹慎態度。HTML5工作組預計這項標準在2011年之前不會正式成為候選推薦標準—這是W3C標準制定過程的特性完成階段。即便到那時,批準其為W3C推薦標準的過程預計仍會持續到2022年前后。如果真是這樣,從XHTML 1.1走到HTML5就要用21年。

  不管怎樣,HTML5可能仍是今后5到10年最前沿的技術之一。那些希望馬上看到實際應用效果的早期采用者可以這么做,盡管應用有限。如今網上有許多試點項目和演示網站展示了這項新標準的各項功能,關鍵在于選擇合適的瀏覽器。比如,Firefox對HTML5功能特性的支持就不盡如人意; 基于WebKit渲染引擎的瀏覽器(包括Chrome和Safari)則支持得更好些。

  同樣,Web開發人員可以隨意嘗試,可以用遵守當前HTML5規范草案的代碼來創建整個網站,不過效果對現有的瀏覽器而言可能各不相同。對關注HTML5的開發人員來說,網上最好的資源之一是知名程序開發員Mark Pilgrim所寫的《Dive into HTML5》,里面深入淺出地介紹了HTML5 Video元素和目前瀏覽器支持的各種編解碼器。

  目前,HTML5標準方面還有太多工作要做,以至于有人甚至可能對它不屑一顧,覺得這又是一項日漸重要、但炒作過頭的技術。其實,這種認識是片面的,標準制定組織本來動作就很緩慢。好在HTML5方面的工作得到了各大廠商的大力推動,包括Adobe、蘋果、谷歌、微軟、Mozilla基金會、Opera軟件公司及其他廠商。這些公司認識到需要升級已無法滿足當前需求的HTML標準,它們的工作有助于HTML5的推廣和普及,因此,對Web開發人員來說HTML5機遇實在誘人,不容忽視。

0
0
 
標簽:HTML5
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()