HTML5將重塑Web世界?

發表於2011-08-20

注:本文轉載自計算機世界

HTML5將改變網際網路的方方面面。HTML5可能不會完全取代Flash,但它會重塑網際網路,使瀏覽器無需藉助外掛就可以做更多的工作,從位置跟蹤、視訊播放到把雲端的資料快取到本地,最終能使網際網路更安全、更高效、更靈活。

HTML5將重塑Web世界?

Adobe和Apple圍繞Flash發生的衝突是今年上半年的一個焦點事件,引起了很多人的關注,其中有不少人因這一事件第一次瞭解到HTML5的存在。初次瞭解HTML5的人可能會非常驚訝,HTML5規範早在6年前就開始制定了,如今儘管HTML5規範草案已經非常好,但何時能真正成為標準卻仍然不確定。

的確,HTML5規範制定委員會工作進展非常緩慢。因為關於如何改進瀏覽器和改進Web世界,

不管是瀏覽器供應商還是其他人都有太多的想法,而這些都要匯聚到HTML5規範中並達成一致,這需要時間。許多新的標籤和JavaScript函式儘管已經在一些瀏覽器上進行了實驗,但互操作性和標準化問題還沒有解決。比如,Apple所做的HTML5演示雖然令人印象深刻,但它們也只在Safari上執行良好。這就是為什麼Flash的支持者嘲笑HTML5要把Web帶回到2000年瀏覽器大戰時代的原因。

雖然這種嘲笑可能讓HTML5的支持者很傷心,而且漫長的等待的確很難熬,但如果就此忽略HTML5卻是不對的。因為在HTML5的背後不僅有行業巨頭的推動,更為重要的是,標準化是IT技術發展的必然趨勢。就軟體而言,不論是瀏覽器還是相關的開發工具,都會不斷吸納周圍的各種技術,最後對其進行標準化,這是技術發展的必然規律。

可以肯定的是,HTML5將改變網際網路的方方面面,顯然它不會完全取代Flash,但HTML5的確會重塑網際網路,使瀏覽器無需藉助外掛就可以做更多的工作,從位置跟蹤到把資料儲存到雲端。HTML5的標籤將取代那些完成比較簡單任務的外掛,至少在某些時候,它可以把一些高階的功能開發給更多的使用者。最終它可能使網際網路更安全、更高效、更靈活。

那麼,即將成為新標準的HTML5到底會把我們帶向哪裡?下面收集了開發者、程式設計師以及設計師的一些看法,從中可以瞭解到HTML5如何改變網際網路。

降低外掛的重要性

從前,Web世界是非常歡迎瀏覽器外掛的,因為它鼓勵創新的想法和大膽實驗,而聲音、動畫及其他一些非常生動的網頁,通過Sun、Adobe、RealAudio、微軟以及其他的一些公司開發的外掛第一次在網路呈現時也的確讓人耳目一新。然而,問題很快就出現了,外掛的介面是向所有人開放的,每個人都在嘗試給舊的、以文字為基礎的世界增加新的功能,混亂不可避免。其中最有名的外掛就是Flash,其他類似的外掛更是數不勝數。

出於多種原因,Apple禁止Adobe的Flash在自己的平臺上執行,這使得廣大Apple迷們不能在 Apple平臺上看到Flash,而HTML5的流行將讓這種衝突不再出現,它將逐步淘汰那些相對封閉的開發體系:JavaFX的功能可能真的很強大,但既然JavaScript和Canvas物件就能做同樣的工作,為什麼還要學習另一種語法?如果video標籤能將音視訊同步,誰需要Real的生態系統?

那麼,外掛真的會全部消失嗎?也許吧,但這要取決於你想做的事情。如果你的目標只是繪製影像,那麼Canvas物件可能就夠用了。但如果你想建立一個專業的3D世界,正如在複雜的Flash和Shockwave遊戲中所看到的那樣,你可能還得依賴專有的外掛技術,因為這些外掛技術可以直接訪問視訊硬體,執行3D遊戲。

支援動態生成影像

過去,網頁中顯示的影像來自於直接下載的GIF或JPG影像,而在HTML5中,影像可能並不是直接來自影像檔案,而是由某個Canvas(畫布)物件臨時生成的。網路上已經出現了大量的非常好的圖形庫,這些圖形庫的存在使得動態生成影像更加容易。

如今,JavaScript層可以根據資料進行計算然後繪製出圖形。如果軟體開發商有足夠的時間和人才的話,完全可以讓網路上的一切變得更加生動,而純文字內容越來越少。Flash只是一個開端,HTML5環境讓Web開發人員更易於開發出複雜的影像。市場已經出現了一些類似的工具,它們將進一步提高Web開發人員駕馭影像的能力,而且隨著工具的成熟,開發人員也將開發出更多更為專業的複雜圖形。

這裡可能存在的一個問題是,這種影像的處理可能會給客戶端處理器帶來很大負擔,比如對客戶端的處理器處理能力有一定要求。在過去,一些開發人員根本不敢用Flash外掛,因為渲染和展現Flash內容可能會給處理器帶來很大壓力,極大地影響使用者的最終體驗。未來這不應該成為問題,開發者不應該因擔心影響效能就不讓使用者體驗生動的影像,只是開發者應該做出一個折中的選擇。每一個抱怨Flash影響效能的人都應該知道,這與技術本身沒有關係,問題來自設計師們為了吸引我們的注意力,他們過多地使用了這項技術。

允許Web程式利用本地儲存

Web程式設計師其實早就可以利用瀏覽器端的本地儲存空間儲存很多資訊,比如IE允許最多300個Cookie,最多儲存4096個位元組的內容。不過,要開發真正實用的Web程式,可能需要比這更多的儲存空間。比如,以前的Dojo工具包使用Flash外掛來分配使用者硬碟上的部分空間,把它留給瀏覽器使用,而現在很簡單了,使用HTML5就可以達到同樣的目的。

對於這部分儲存,程式設計師可以按照自己的需要任意使用,比如把雲服務的應用和資料儲存在本地硬碟上。這也使得雲應用的交付、安裝和部署都非常像傳統的應用程式。比如,無論是否有網際網路連線,雲應用程式都可以照常執行,因為之前已經從伺服器上下載了HTML5應用的 JavaScript程式碼,這部分程式碼就儲存在本地。

當然,這種技術的應用並不會影響雲應用的普及,因為現在的執行模式與過去有很大不同,本地資料庫實際上扮演的是智慧快取的作用。另外,遊戲開發人員可以在本地儲存一些情景資訊和裝備資訊,這樣可避免每次一連機就要下載這些資訊,省了下載資料的時間。而不利的方面就是這些資料庫深埋在系統資料夾之中,這樣,進行資料備份時就變得非常複雜。使用者如果想把資料從一臺機器遷移到另一臺機器,資料遷移工作可能就會變得更為複雜。

或許混合雲的出現可能解決這一問題,混和雲允許雲端和本地都儲存有資料,而本地計算機只是快取資料,最終版本儲存在雲中,這樣從任意一臺計算機上就可以訪問到。

簡化Web開發中的資料提取

曾從網頁中提取過資料的Web開發人員都知道,現有的HTML結構除了告訴瀏覽器這些資訊在哪裡之外,幾乎不能再提供任何有意義的資訊。而開發人員需要了解與資料本身有關的資訊,這些資訊能幫助程式設計師瞭解這些資料的真正含義。 HTML5中所謂的微格式(Microformat)引入了一種新的機制,它在HTML中新增了一些專門的標籤,可以幫助程式設計師分析標籤之中的資料的真實含義。

沒有人能夠預測微格式到底將帶給網路多少改變,但很容易看出,這種新的機制將給程式設計師帶來很大方便,幫助程式設計師開發出更有效率的Web應用。比如,如果有一個好的、標準的方式來表示日期和時間,那麼程式設計師在為網站開發與時間有關的Web程式時,就無需另外編寫專門的程式碼來分析或者猜測別人可能用的什麼時間格式。這樣,日曆、時間表、日程安排等需要從多個資料來源收集時間資訊的應用也就變成非常簡單的工作了。

支援位置服務

在Web世界裡,過去我們只知道其IP地址,那些數字對應著一個什麼樣的真實世界我們根本不知道。比如,某臺電腦究竟在哪裡,過去幾乎不可能知道,而現在出現的位置服務可以解決這個問題。HTML5標準中允許JavaScript詢問瀏覽器使用者的地理位置,比如緯度和經度資訊。通常桌面系統不支援這一功能(因為需要有GPS或Wi-Fi),但如果終端是手持智慧手機,這個功能就可以發揮作用。

今天,沒有人能知道聰明的程式設計師會基於這些位置資訊建立出什麼應用來,但有一點可以肯定,未來一定可能以一種變幻莫測和難以置信的方式將把虛擬世界與現實世界整合到一起。

讓Web視訊播放更流暢

HTML5中的“video”標籤使Web開發人員很容易地把視訊內容與網頁中的其他內容整合起來,也讓那些從事jQuery和PHP開發的人員可以加入到Web開發隊伍中,使得Web開發不再僅僅是Flash、Silverlight和JavaFX開發人員的專利。

儘管這一設想看起來很誘人,但面臨的困難依然不少,因為HTML5標準中沒有指定任何編解碼器,而每個人都想釋出自己的視訊和聲音編解碼器。這就意味著我們用一種混亂取代另一個混亂:只是過去我們把嵌入到瀏覽器中的軟體稱為外掛,而今天把它稱為編解碼器而已。因此,今天我們雖然有了一個標準的“video”標籤,但瀏覽器可能知道也可能不知道到底如何解釋這些視訊內容。

在洛杉磯任教的HTML5應用開發講師Erich Ocean認為編解碼器的戰爭仍在繼續。“計算機開發人員和Mozilla組織如果認為他們能為視訊專業人士制定視訊標準,那就大錯特錯了。”他說,“我們看到谷歌的新視訊格式在一些地方得到了使用,比如在YouTube網站,但永遠不會像H.264那樣普及。”

儘管視訊播放可能面臨比較混亂的局面,因為無法讓大家達成一致,但是新的“video”標籤肯定會讓網際網路視訊內容越來越豐富,網頁將成為視訊內容的主要釋出源地,而同時單純的文字內容也會越來越少。只是這對孩子的教育未必是好事,因為現在的孩子們變得越來越習慣於看動畫,而很少花時間來閱讀,更別提書寫了。

Widget將更豐富

在IFrame中執行的Widget讓網頁可以把其他網站的內容(比如天氣預報)嵌入進來,非常實用也非常受歡迎,但由於安全方面的原因,這些Widget一直執行在一個相對獨立的環境中,與網頁中的其他內容基本保持隔離狀態。

而HTML5為這些Widget提供了一個相互通訊的標準機制。儘管它們仍然不能夠相互進入對方的執行環境中,但它們已經可以相互傳送資訊來協同工作了。

廣告商對此早就期盼已久,它們非常希望能把分散到同一個網頁各個位置的旗幟廣告整合起來,而從開發的角度來說,開發人員也一定會找到其他實際用途。例如,在Web頁面上播放的網球比賽畫面可以和左右兩邊的球員資訊同步起來,這在HTML 1.0時代是難以想象的。

不過,可以傳送資訊、相互通訊機制只是一個開始,下一個亟待解決的是通訊協議的問題,因為至今還沒有這方面的一個標準。只有為傳遞資訊設立一個標準後,兩個不同開發團隊開發出來的Widget之間才有可能相互通訊。換句話說,通訊雙方需要更多的標準詞彙。

提高瀏覽器的安全性

每個瀏覽器外掛都是一個單獨的應用程式,不同的瀏覽器外掛是由不同的程式設計師按照不同的標準開發的,釋出時間不同,安全模式也不同。很自然地,有些外掛會比其他的更安全。隨著瀏覽器中的外掛越來越多,要跟蹤每個瀏覽器外掛中可能存在的安全漏洞越來越複雜。比如,你企業中去年年末某個時候的安全漏洞到底是出在外掛還是瀏覽器,最後是通過升級瀏覽器而不是升級外掛來解決的還是反過來,可能很難有人記得那麼清楚。

把很多功能內建到HTML5而不是使用外掛可以大大降低安全風險,避免與外掛開發有關的多個環節出現問題,更可以防止有人故意利用外掛中的API安裝惡意程式碼。因為相對而言,Firefox、Chrome或IE瀏覽器等的安全性通常會經過更多的人(包括安全小組)的審計,如果安全小組認為某個瀏覽器安全,一般來說,其安全風險肯定要少得多。

不過,這裡所說的安全性有所改善帶有一定程度的主要臆測。這個世界總會有一些人把它們的聰明才智用到“邪道”上,他們完全可能利用HTML5的某種特性來從事一些惡意行為。只是現在沒有人能夠預測HTML5的新功能中到底可能隱藏著哪些危險。

簡化Web開發

在一家Web軟體開發公司工作的開發人員的話很有代表性,它簡明扼要地闡述了HTML5可能帶來的變化。他說: “我更喜歡HTML5,主要是因為它使我能夠在一個統一的開發環境下進行開發,這個環境就是瀏覽器加JavaScript再加上DOM,而不必在 Flash世界和HTML5的世界之間來回切換。未來只要掌握一門開發語言和一個工具集,就可以開發任何外掛。”

他補充說,“我認為,對於使用者而言好處也是很明顯的,而現在Flash彷彿在網際網路世界裡另外創立了一片天地。”

的確,HTML5採用了統一的語言(JavaScript)、統一的資料模型(XML和DOM)和統一的表現規則(CSS)來表現文字、音訊、視訊和圖形,對於開發者而言無疑的是非常理想的,基於一個統一的標準開發環境,工作肯定會簡單不少。但要讓一切都成為現實挑戰仍然是巨大的,一個突出問題是工具的缺乏,現在HTML5的相關工具方面還很少。不可否認,Flash的流行與Adobe為Flash的開發提供了非常好用的工具密不可分。

鏈 接:HTML的演進歷程

HTML全稱是超文字標示語言(Hypertext Markup Language),是用來描述網頁的一種規範。正是這些容納在尖括號裡的簡單標籤,構成了如今的 Web。

HTML的第一個官方版本是由IETF (網際網路工程任務組) 推出的 HTML 2.0。後來,W3C 取代 IETF 的角色,成為HTML標準制訂的組織,上個世紀90年代的後半葉,HTML 的版本被頻繁修改,直到1999年的HTML 4.01,至此,HTML到達了它的第一個巔峰。

HTML在HTML 4.01 之後的第一個修訂版本就是 XHTML 1.0,其中X代表 “eXtensible”。 XHTML 1.0 是基於HTML 4.01 的,並沒有引入任何新標籤或屬性,唯一的區別是語法,HTML對語法比較隨便,而XHTML則要求XML般的嚴格語法。後來,W3C又推出了XHTML 1.1。

對 W3C 而言,到了 HTML 4已經是功德圓滿,他們的下一步工作是XHTML 2.0,希望將Web帶向XML的光明未來。然而,來自Opera、Apple以及 Mozilla 的代表不滿意W3C的工作,他們自發組織成立了超文字應用技術工作組,這就是WHATWG,他們致力於HTML5 規範。

在WHATWG致力於HTML5的同時,W3C繼續他們的XHTML 2.0。不過,W3C在XHTML 2.0方面的工作慢慢地陷入困境,後來終止了XHTML 2.0的工作,並於2007年組建了一個新的HTML工作組,他們非常明智地選擇了 WHATWG 的成果作為基礎,致力於制訂HTML5規範。

經過多年的醞釀,HTML5的草案於2008年釋出,目前W3C正在對它進行進一步完善。現在,關於HTML5何時會正式成為標準還沒有一個明確的說法。好訊息是,2012年HTML5可能會被接納為候選標準。不過,可以預料的是,HTML5無論何時能成為標準,HTML5要被所有瀏覽器提供商所接納肯定是一個比較長期的過程。

 

相關文章