現狀與未來

   

1. HTML5 的現狀與未來

如果你一直關注 Web ,你可能認爲 Flash 播放器和 Silverlight 已經進入生命倒計時,而 HTML 5 則正在迅速改變 Web 上的一切。然而,實際上許多正在評價 HTML 5 的人並不完全理解當前的領域。你知道 HTML 5 標準的編者 Lan Hickson 曾說過“在 2022 年以前 HTML 5 不會被在所有瀏覽器上完全實現”嗎?你知道 iPhone 開發者現在已經可以完全使用 HTML 5 ?你知道 HTML 5 中的所有功能都來自於 Web 插件?你知道谷歌在其產品 Wave 中使用了一個 Web 插件嗎?

我們需要對 HTML 5 以及它對 Web 的意義進行一次開放而坦誠的探討。不幸的是,你不會從狂熱的任何一方獲得真相,而是需要我們檢查所有的事實證據,然後得出我們自己的結論。在分析這個事實的過程中得出了幾個觀點。

1.1          現狀

在經過許多專注開發者的努力工作後, HTML 5 已經基本準備就緒。這個過程從 10 年前已經開始,到今天爲止經歷了多次反覆。今天, HTML 5 已經在許多平臺 / 瀏覽器上準備就緒。但是,並非所有瀏覽器實現了這個標準的全部功能,而且某些瀏覽器甚至還未宣佈何時將實現完全支持 HTML 5 。事實上, iPhone 操作系統 3.0 是目前唯一完全支持 HTML 5 的穩定版操作系統。對開發者來說這意味着,對多數開發者來說, HTML 5 依然是很遙遠的事情。

爲客戶提供解決方案的開發者並不在乎理論,他們關心的是現實。按照這個說法,如果一個解決方案的目標客戶只有全部客戶的 10% ,它就不算一個成功的解決方案;如果它只能被 90% 客戶使用,同樣也不算一個好的解決方案。客戶希望網站或應用程序能夠適合目標客戶中的每一名成員,而且是現在就能滿足。這就是第一個觀點:

觀點 1

至少在 2014 年之前,開發商將無法在爲客戶提供的解決方案中使用 HTML 5 (除非他們是在一個如上所述的特定平臺上)。至於在解決方案中使用 HTML 5 的全部功能,則將會更晚。

開發者可以考慮創建同時利用 HTML 5 和當前的 HTML/JS 模式的解決方案。不過,這意味着開發商將不得不創建一個單一解決方案:

1、  瀏覽器能自動探測並確定用戶具備使用 HTML5 的能力;

2、  一個針對目前或更老版本瀏覽器的全功能 HTML 4.1/XHTML 1 應用程序:

(1) 多個支持 IE6 IE7 Firefox 3 Safari 3 CSS 文件;

(2) 兼容上面列出的所有瀏覽器的 JavaScript

3、  全面支持 HTML 5 的應用(其中將與 HTML 4.1 應用程序幾乎沒有重疊的代碼)

對那些狂熱於應用 CSS JavaScript 的開發者來說,這只不過又增加了一層複雜性。事實上, 對於傳統的開發者來說,直到 90% 以上的網絡使用支持 HTML5 的瀏覽器的時候, HTML5 纔會進入他們的選擇。請記住,儘管 IE6 早在 8 年前( 2001 年)就已經推出了,但是大多數網站還在檢查 IE6 的用戶。

1.2          插件的真相

最近許多文章聲稱 HTML5 將逐個消滅傳統網絡插件。實際上,這與事實相差太遠。在直接談到這個問題之前,我們需要仔細看看什麼是網絡插件。

當列出網絡插件時,大多數人都會意識到,常見的包括 Adobe Flash Player Microsoft Silverlight JavaFX 等。然而實際上它還包括谷歌 Gears 、谷歌本地客戶端( Google Native Client )、谷歌地球插件( Google Earth plug-in ),以及谷歌音頻 / 視頻聊天插件等網絡插件。此外,除了 Google 的插件,還有不計其數的的其他廠商的插件。由於這些插件是“封閉源代碼”項目的事實,它們經常遭到詬病。事實的真相是,插件有一個快速開發週期來引導創新。並不是說在開源項目中它不可能發生,但是需要爲真正客戶開發最先進的解決方案,不能期待真正創新的網絡標準,更多是已經被實施的網絡標準:

觀點 2

網絡標準不會永遠創新,它們只會執行那些已經成功包含的插件。

這源於這樣一個事實:標準化進程是由微軟、谷歌和 Mozilla 等公司所主導的,除非這些公司已經在某個產品開發方面佔有一席之地,否則他們不會投資於在這方面建立某項標準。術語標準化意味着你把已經存在的東西拿過來,然後爲實施它建立一個統一的過程。

此外,許多開發商不承認插件在 HTML 5 標準中的作用。由此產生了另外一個觀點:

觀點 3

HTML 5 中的每一個新功能之所以被增加,是因爲開發商需要一個已經被以插件形式實現的功能。這包括離線緩存( Google Geas 、畫布( Flash 播放器)、媒體播放( Flash 播放器等)、拖放( Flash 播放器等)等等……

處於這場爭論最前線的是谷歌 Wave ,最近谷歌在其 IO 大會上宣佈了這個產品。這個富互聯網應用已被稱爲 Web 標準作用的一個偉大例子。然而,沒有人指出它需要一個插件才能運行這個事實。的確,證明 HTML5 能夠做什麼的實例,需要谷歌 Gears 展示它的部分功能。事實上,它僅是一小部分功能,但是它揭示了一個重要的觀點。

觀點 4

谷歌可以選擇通過標準化進程,來嘗試在推出 Wave 之前添加拖放功能,但是他們認爲如果沒有這一功能,用戶體驗將會變糟。於是他們選擇使用插件來提供最佳的整體用戶體驗。

事實上,插件可以在一年之內就“升級網絡”。在現實生活中,一個想法可以通過生產、質量評價和發佈給用戶,然後在 16 個月內被推廣到 85% 以上的的網絡。但是 Web 標準難以做到這一點:

觀點 5

由於涉及到大企業和實體,任何重大的改變(需要瀏覽器發行商以統一的方式改變瀏覽器的功能),從最初的想法到實際執行(在所有瀏覽器)至少需要十年的時間 。另外加上使用舊版本瀏覽器的用戶升級的時間,該過程還需要多花 5 年多時間。

如果 HTML5 被當前所有主要的瀏覽器完全支持,並且如果所有這些用戶使用了這些升級後的瀏覽器, Web 插件將會遭受到來自 HTML5 的沉重打擊(但是即便如此,它也不會完全消滅它們)。在現實生活中, HTML 5 甚至無力與 Web 插件競爭,因爲它是目前唯一可行的固定平臺解決方案(像 iPhone )。

1.3          質量與標準

許多開發商在追求 Web 標準時卻忽視了質量。這是視頻編解碼器爭論的核心所在(圍繞 HTML5 也有很多這類問題的例子) 。開發商選擇在相對開放的基礎上去評估解決方案,而不是注重其實際的功能。過去的五年告訴了我們什麼?我們最終將會進入一個用戶體驗至上的時代,但是現在一些開發商爲了開放性而犧牲了質量。

觀點 6

許多開源解決方案處於各自領域的頂尖水平( Apache MySQL Linux Flex Framework 等等)。劣質的解決方案(如 Ogg 編解碼器)不能只是因爲他們是“開放”的就應該容忍。如果您想要所有的瀏覽器執行一個視頻編解碼器,那就做一個優於 H.264 的。在使用“開放”解決方案時,開發商絕不應犧牲用戶體驗的熱情。

當一個潛在客戶評判公司的工作時,他們不會關心網絡標準,他們關心的將是工作的質量和功能。此外,當用戶使用公司的應用軟件時,他們不會在意“開放性” ,而只在意整體功能和用戶體驗。作爲一名開發人員和公司的僱員,不能推薦劣質的解決方案。必須基於能保持競爭力的功能來評價所有的解決方案。這意味着,如果 HTML5 將來能夠提供更好的功能,它將會是一個好的解決方案,但是, HTML5 將與其他解決方案在平等的基礎上參與競爭。

1.4          未來

希望這些意見能夠全面闡明這個問題。問題的關鍵是:特定平臺的開發人員現在就可以享受 HTML5 。現在他們就應該擁抱它,開始學習 HTML5 並用 HTML5 工作。傳統的開發人員將必須等待大約 5 年時間才能真正選擇 HTML5 。到那個時候,我們可能已經擁有 Flash Player 13 Silverlight 5 JavaFX 3 。誰知道這些版本將包括什麼呢?但是,我們可以猜測到,它們包含的功能很可能將包括在未來版本的 HTML 中。


 

2. 結論

本文主要探討了 HTML5 改進的 web 表單、用戶交互、離線存儲等新特性,以及現階段企業應用所面臨的各方面的問題,諸如信息安全的管理、對信息實時性的要求、數據存儲與客戶體驗等方面的挑戰,並結合以上研究成果分析 HTML5 新技術對企業應用帶來的影響。

經過分析發現: HTML5 將會在頁面信息交互、開發人員編碼、服務器存儲等方面給企業應用帶來利益。但由於 HTML5 還處於草案階段,對網絡安全方面考慮不到位,致使其在離線數據庫方面安全控制不足。不過相信在不久的未來這些問題會得到恰當的解決。

現階段對於 HTML5 來說,面臨的挑戰仍然是跨瀏覽器如何保持 HTML5 顯示一致這一問題。各家瀏覽器廠商對於 HTML5 有各自不同的想法。就 HTML5 對視頻編解碼的支持方面,各廠家就持不同的態度,正如 HTML5 的編輯 Ian Hickson 的說法, HTML5 的最終提議草案要等到 2022 年纔會發佈。

雖然 HTML5 的一些新特性很值得欣賞,建議還是需等到 HTML5 成熟之後使用,以免造成意料之外的損失。

最後說明一點,由於相關資源、時間有限,文章中的觀點主要來自網絡論壇,有些論據或許有偏頗牽強之嫌,有待進一步給出事實依據。在後期的樣例程序中將給予論證。

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