更新換代是這個時代的主題,HTML5不是終點

原文:更新換代是這個時代的主題,HTML5不是終點

NanShan即時通訊可以明確的說HTML5的革命不是終點,更新換代永遠是這個時代的主題,不論Palm的Web OS還是Chrome OS,Web正在試圖使用HTTP協議,HTML作爲標記語言試圖全面侵入客戶端的領域。不過HTML似乎不夠強大到全面替代客戶端軟件。HTML超文本標記語言在更多的時候扮演者排版語言的作用:圖片,數據被HTML非常有序的擺在了瀏覽器裏面。


  對於HTML來說或許它有天生的兩大弱點,一來佈局和數據混合的模式使得網頁無法被機器很好的識別。HTML4曾經有段短暫往XML發展的歷史,XML加CSS的方式將數據與樣式全面分離,不過或許這樣的做法過於理想;此後一個過渡性的規範XHTML應運而生,或許從這個名字你就可以看出他是一個XML與HTML混合的標記語言;而機器的互聯網(服務器與服務器之間的通信)完全轉向了以XML爲標記語言,SOAP爲通信協議的Web Services。被冠以Web重構的XHTML或許只帶給網站設計和開發者更規範的語言,但對用戶體驗的影響畢竟有限。HTML另外一個缺陷或許是HTTP協議本身引起,無狀態的HTTP協議無法像socket一樣提供實時變化的數據。或許正是這樣的原因那個XMLHttpRequest控件被冠以了一個和荷甲豪門Ajax一樣的名字,宛然已是Web的救世主。不過僅僅靠XHTML和Ajax還是無法讓Web有足夠的能力全面替換客戶端軟件。

 

  如何讓Web做更多客戶端軟件能做的事情或許是未來HTML的發展方向。不過理想與現實總是存在差距。更多HTML特性的引進不得不考慮一個現實的問題,就是主流瀏覽器對於這些新標籤的支持。佔據着瀏覽器60%的IE系瀏覽器對於新的HTML標籤的支持成了比規範本身更加重要的因素。不過這一切隨着iPhone和Android手機的市場份額逐步上升,手機瀏覽器在以前那個由PC主導的瀏覽器演進史中發揮了越來越重要的作用。Palm Web OS或許被很多人認爲是第一個使用HTML加JavaScript開發手機應用程序的先驅。不過這樣的先驅或許應該是蘋果公司。在沒有開放iPhone SDK前,蘋果公司一直鼓勵開發者爲iPhone開發Web App的應用,爲此蘋果爲iPhone上的Safari瀏覽器增加了很多客戶端的特性,比如在Safari增加一個添加到桌面功能,比如Meta標籤中引入viewport,apple-mobile-web-app-capable等特性,目的能讓Web應用能夠像原生的App那樣運行於iPhone之上。不過真正帶來革命的是Safari那個WebKit內核對於HTML5支持。

 

  越來越多的手機操作系統,讓手機應用開發者幻想能有一個跨平臺的中間件,以便爲手機開發的應用能夠一次編寫,到處運行。手機不同的軟硬件巨大的差異讓這樣的幻想依然是幻想。不過iPhone瀏覽器Safari的WebKit內核被越來越多手機瀏覽器引入作爲自身的網頁渲染內核。Android的Chrome Lite、黑莓的新瀏覽器、以及最早將WebKit引入手機瀏覽器的Nokia公司正在讓WebKit內核不斷擴大在手機瀏覽器中的市場份額。或許將來那個跨平臺的中間件的角色將會由WebKit來扮演。得益於WebKit對於HTML5的支持,HTML5的發展不再被不思進取的IE瀏覽器束縛住手腳。蘋果與Adobe那個Flash與HTML5之爭更讓HTML5走向了前臺。iPhone與iPad的熱銷使得Youtube、Amazon、Hulu、Flickr那些網站們需要考慮是否爲這些無法使用Flash的設備提供替代的HTML5的頁面,以便他們能夠正常使用自身的服務。

 

  或許我們應該看看HTML5爲我們帶來那些新的特性。

 

  首先我們需要關注的是Video標籤。瀏覽器支持視頻播放或許要追溯到十幾年前,那個時候Real Networks的RealPlayer,微軟的Media Player作爲瀏覽器的插件已經讓瀏覽器具備播放流媒體的能力。不過不具備良好的交互能力(交互能力弱到無法在視頻插入一個可點擊的廣告);需要安裝碩大的客戶端軟件;以及不同版本的兼容性問題使得Flash抓住了機會,最終成爲網站採用最多的流媒體播放器。儘管瀏覽器能夠播放流媒體,但都是引入插件的方式的解決。Video標籤的引入使得瀏覽器自身需要具備流媒體播放的能力;而開發者無需再關心用戶的瀏覽器是否安裝了必要的插件。不過與Flash相比,目前的Video標籤或許只有當時Real Player和Meda Player瀏覽器插件相當的水平,在交互能力上還遠遠落後於Flash。

 

  HTML5值得我們關注的是GeoLocation API。瀏覽器GeoLocation API的引入或許是移動設備引領HTML5發展最好的詮釋。相比PC,移動設備更加關注用戶的位置屬性。GPS芯片正在逐漸成爲智能手機的標配,手機應用開發者可以通過相應的SDK獲取手機的位置信息;但對於Web/Wap開發者來說;在GeoLocation API引入前,獲取用戶的位置信息並提供基於位置信息的服務幾乎不可想象。有了GeoLocation API開發基於Web/Wap的類似FourSquare的應用不再是夢想;甚至GeoLocation API比直接通過獲取GPS信息獲得更多的位置信息。基站的Cell-ID,Wifi的MAC地址,IP地址都將是位置定位很好的工具,而這些都無需用戶的手機具備GPS芯片。

 

  對於HTML5我們還需關注Canvas標籤,它是HTML5挑戰Flash最有力的武器。Canvas使得HTML不再是一個排版工具,而是一個圖像創作工具。熟悉客戶端開發的程序員或許對Canvas有着及其深刻的映像,雖然各類編程軟件對於Canvas有着不同的定義和用法,相同的是Canvas將繪圖能力完全交給了程序員,開發炫麗的報表,開發具備交互能力的遊戲或許都有着Canvas的功勞。HTML5的Canvas亦是同理,只是編程語言換成了JavaScript。Canvas使得HTML具備了像Flash那樣開發交互遊戲的可能。雖然不少瀏覽器目前只支持Canvas的2D編程,對於3D的Canvas支持將會是瀏覽器的一個趨勢。不過只有程序員擅長的JavaScript還不足以撼動Flash在富媒體領域的地位,不過或許將來或許有一個類似於Flash那樣提供給藝術創作者一個可視化的編輯工具的話(由這個工具再轉換爲JavaScript語言),開發基於HTML5的富媒體或許將與開發Flash一樣方便。

 

  HTML5還有一些其他的標籤。或許增加什麼標籤不重要,而在於HTML5自身就是一個Web替換客戶端應用的過程中不斷迭代的一個標記語言,這或許是HTML5被冠以革命頭銜的原因所在。IE must Die,這句話或許是Web開發者對於IE不思進取最嚴厲的批評,不過如果無法對HTML5提供很好的支持,將會讓IE逐漸被其他瀏覽器蠶食其龐大的市場份額。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章