公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2010年11月8日 星期一

該怎樣看待HTML 5?

今年TechDays 之後,有很多朋友詢問我有關於是不是需要等 HTML 5標準的問題。我先跟大家分享一個身邊的故事:

我有一位好朋友,幾年以來,一直想在台北市買間房子。他跟我說,希望可以找一間室內有35坪以上,總價兩千萬以下的房子。其實這條件並不會太難找,但是找到的都是中古屋,要不然就是交通比較不方便的區域,所以他就不考慮了;再加上常常會有房價泡沫化的新聞,於是乎迄今,屬於他的房子還不知道在哪裡 -- 即便是他有兩千萬的預算…

HTML 5 從2007年開始制定到現在,一直被視為下一代網際網路的一個重要標準;然而到現在為止,也還在 "Working Draft"的階段,"最快" 應該也是明年六月以後才有機會變成 "Recommandation" 的標準(很樂觀的看法)。而備受爭議的CSS 3,則可能會需要再拖一陣子。在現在這標準還是曖昧不明的階段,Chrome、Safari等不同的瀏覽器廠商,為了搶瀏覽器的市場,也舉辦許多的研討會,每家都試圖證明自己是HTML 5的領導廠商。更甚者,希望讓IT人員相信,只有HTML 5才是下一代Rich Internet Application的唯一標準。

我在五月份的文章中,已經把HTML 5發展的可能做了一些分析;在 IE 9 Beta1釋出之後,情勢又更加的明顯。微軟從2007年,也就是大約是 HTML 5標準開始發想的時間,就推出了Silverlight 1.0版。在Silverlight 1.x中,微軟就已經試著使用 XAML標籤,來描述網頁中動畫、影片、聲音等等,與使用者互動的技術,再透過JavaScript控制這些網頁中的物件,建立RIA應用程式。但是也就是為了要讓 XAML標籤所設計的使用者操作介面可以在不同的環境中(特別是未來的行動裝置),不受瀏覽器與JavaScript引擎的影響,而可以有一致的效果,因此從Silverlight 2.0開始,Silverlight就轉變為現今的架構。而從2007年迄今,Silverlight也已經根據實際應用的需求,進化了四個版本;如果從這樣的經驗來看, HTML 5 的標準就算在制定完成之後,也還有一段長路要走…

另外,若是要讓 RIA應用程式可以在不同的瀏覽器中可以有一致的效果,瀏覽器本身除了需要有很好的JavaScript執行引擎之外,更需要與作業系統有更緊密的結合,才能善用圖形加速的功能(GPU、DirectX…)去呈現網頁。在我TechDays 2010的demo當中(http://ie.microsoft.com/testdrive/Performance/PsychedelicBrowsing/Default.html),其實就可以看出有支援GPU加速的 IE 9 Beta 1,在執行HTML 5的網頁時,效果就比Chrome(7.0.517.44)好上很多。當然,現在離HTML 5的標準制定完成至少還有半年以上的時間(很樂觀的看法),瀏覽器廠商都還有進步的時間與空間。但在這些問題都還沒有解決或是最佳化之前,使用HTML 5開發出來的網頁對於使用者來說,不會有太多的感覺。當然,對於瀏覽器廠商來說,若是 IE 9在執行大部分的HTML 5網頁時的速度與效果都比Chrome或是Safari好的話,自然市占率就會增加 -- 然而在 HTML 5標準確定之前,目前所有 "號稱"支援HTML 5 的瀏覽器,也都沒有支援全部的功能(http://www.w3.org/QA/2010/09/how_do_we_test_a_web_browser_o.html),自然對於使用者來說,也沒辦法帶來好處。

image image 

(差很大的使用者操作經驗…)

HTML 5 會一統江湖嗎? 從幾個地方來看:

1. 大部分的HTML 5的規格,都是參考自2007年迄今,RIA應用程式技術(Flash、Silverlight)現有的功能所制定的。然而應用程式的發展日新月異,參考現在的需求所制訂出來的規格,通常是無法滿足未來的需求。換句話說,在環境變化多樣性的網際網路平台中,HTML 5 應該是繼續扮演目前的角色,做為Web基礎的框架;而各種 RIA的技術,包括Silverlight以及未來的其他裝置,勢必會繼續發展滿足未來使用者需求的功能;而HTML 5標準所無法支援的環境,則應該依然是可以透過plug-in的方式,執行在瀏覽器中。

2. 根據這幾年來Silverlight的發展經驗來看,未來HTML 5應該會發展成為設計工具間,轉換使用者操作介面的一種標準。每一種不同的UI 技術都會有各自的profile,如同MDA(Model Driven Architectur)當中 PIM(Platform Independent Model)到PSM (Platform Specific Model)的過程一樣,設計人員可以先使用工具設計好一個通用的模型之後,再套上不同執行環境所需要的profile,就可以轉換成所需要的使用者操作介面

會需要這樣做的原因是,未來可以上網的裝置越來越多,需求也會不同,要讓RIA應用程式在這些裝置中都有良好的操作經驗,就不可能都靠瀏覽器去執行這些程式。換句話說,除非裝置本身的作業系統就是最佳化過的瀏覽器(Chrom OS ?),否則會有越來越多的RIA應用程式需要支援於瀏覽器外執行。此時不同的裝置,設計工具就可以透過不同的profile,轉換成各自支援的UI標準 (類似MDA當中的PIM->PSM),開發人員再透過 MVVM 等開發模式,就可以快速的將使用者操作介面與程式結合,轉換成在不同裝置中執行的應用程式。

我們需要等 HTML 5嗎? 不需要! 就像買房子一樣,有現在就已經成熟的技術可以解決問題,為什麼要等以後不確定能做到多少的標準? 在未來,Silverlight技術將會繼續演進,支援更多裝置與平台;而同時,HTML 5無法滿足的部分,也繼續會有新的技術會出現,請問你還可以等多久???

參考資料:

W3C Statndards and Drafts

HTML 5: Getting to Last Call

HTML 5+ CSS 3 會殺了Flash 跟Silverlight ?
HTML 5+ CSS 3 會殺了Flash 跟Silverlight ? -2

沒有留言:

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)