不論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逐漸被其他浏覽器蠶食其龐大的市場份額。