HTML5將(jiāng)重塑Web世界?
HTML5將(jiāng)重塑Web世界?
2010年上半年的一個焦點事(shì)件,引起(qǐ)了很多人的關注,其中有不少人因這(zhè)一事(shì)件第一次了解到HTML5的存在。初次了解HTML5的人可能(néng)會(huì)非常驚訝,HTML5規範早在6年前就(jiù)開(kāi)始制定了,如今盡管HTML5規範草案已經(jīng)非常好(hǎo),但何時(shí)能(néng)真正成(chéng)爲标準卻仍然不确定。
的确,HTML5規範制定委員會(huì)工作進(jìn)展非常緩慢。因爲關于如何改進(jìn)浏覽器和改進(jìn)Web世界,不管是浏覽器供應商還(hái)是其他人都(dōu)有太多的想法,而 這(zhè)些都(dōu)要彙聚到HTML5規範中并達成(chéng)一緻,這(zhè)需要時(shí)間。許多新的标簽和JavaScript函數盡管已經(jīng)在一些浏覽器上進(jìn)行了實驗,但互操作性和标準化 問題還(hái)沒(méi)有解決。比如,Apple所做的HTML5演示雖然令人印象深刻,但它們也隻在Safari上運行良好(hǎo)。這(zhè)就(jiù)是爲什麼(me)Flash的支持者嘲笑 HTML5要把Web帶回到2000年浏覽器大戰時(shí)代的原因。
雖然這(zhè)種(zhǒng)嘲笑可能(néng)讓HTML5的支持者很傷心,而且漫長(cháng)的等待的确很難熬,但如果就(jiù)此忽略HTML5卻是不對(duì)的。因爲在HTML5的背後(hòu)不僅有 行業巨頭的推動,更爲重要的是,标準化是IT技術發(fā)展的必然趨勢。就(jiù)軟件而言,不論是浏覽器還(hái)是相關的開(kāi)發(fā)工具,都(dōu)會(huì)不斷吸納周圍的各種(zhǒng)技術,最後(hòu)對(duì)其進(jìn) 行标準化,這(zhè)是技術發(fā)展的必然規律。
可以肯定的是,HTML5將(jiāng)改變互聯網的方方面(miàn)面(miàn),顯然它不會(huì)完全取代Flash,但HTML5的确會(huì)重塑互聯網,使浏覽器無需借助插件就(jiù)可以 做更多的工作,從位置跟蹤到把數據保存到雲端。HTML5的标簽將(jiāng)取代那些完成(chéng)比較簡單任務的插件,至少在某些時(shí)候,它可以把一些高級的功能(néng)開(kāi)發(fā)給更多的 用戶。最終它可能(néng)使互聯網更安全、更高效、更靈活。
那麼(me),即將(jiāng)成(chéng)爲新标準的HTML5到底會(huì)把我們帶向(xiàng)哪裡(lǐ)?下面(miàn)收集了開(kāi)發(fā)者、程序員以及設計師的一些看法,從中可以了解到HTML5如何改變互聯網。
降低插件的重要性
從前,Web世界是非常歡迎浏覽器插件的,因爲它鼓勵創新的想法和大膽實驗,而聲音、動畫及其他一些非常生動的網頁,通過(guò)Sun、Adobe、 RealAudio、微軟以及其他的一些公司開(kāi)發(fā)的插件第一次在網絡呈現時(shí)也的确讓人耳目一新。然而,問題很快就(jiù)出現了,插件的接口是向(xiàng)所有人開(kāi)放的,每 個人都(dōu)在嘗試給舊的、以文本爲基礎的世界增加新的功能(néng),混亂不可避免。其中最有名的插件就(jiù)是Flash,其他類似的插件更是數不勝數。
出于多種(zhǒng)原因,Apple禁止Adobe的Flash在自己的平台上運行,這(zhè)使得廣大Apple迷們不能(néng)在Apple平台上看到Flash,而 HTML5的流行將(jiāng)讓這(zhè)種(zhǒng)沖突不再出現,它將(jiāng)逐步淘汰那些相對(duì)封閉的開(kāi)發(fā)體系:JavaFX的功能(néng)可能(néng)真的很強大,但既然JavaScript和 Canvas對(duì)象就(jiù)能(néng)做同樣(yàng)的工作,爲什麼(me)還(hái)要學(xué)習另一種(zhǒng)語法?如果video标簽能(néng)將(jiāng)音視頻同步,誰需要Real的生态系統?
那麼(me),插件真的會(huì)全部消失嗎?也許吧,但這(zhè)要取決于你想做的事(shì)情。如果你的目标隻是繪制圖像,那麼(me)Canvas對(duì)象可能(néng)就(jiù)夠用了。但如果你想建 立一個專業的3D世界,正如在複雜的Flash和Shockwave遊戲中所看到的那樣(yàng),你可能(néng)還(hái)得依賴專有的插件技術,因爲這(zhè)些插件技術可以直接訪問視 頻硬件,運行3D遊戲。
支持動态生成(chéng)圖像
過(guò)去,網頁中顯示的圖像來自于直接下載的GIF或JPG圖像,而在HTML5中,圖像可能(néng)并不是直接來自圖像文件,而是由某個Canvas(畫布)對(duì)象臨時(shí)生成(chéng)的。網絡上已經(jīng)出現了大量的非常好(hǎo)的圖形庫,這(zhè)些圖形庫的存在使得動态生成(chéng)圖像更加容易。
如今,JavaScript層可以根據數據進(jìn)行計算然後(hòu)繪制出圖形。如果軟件開(kāi)發(fā)商有足夠的時(shí)間和人才的話,完全可以讓網絡上的一切變得更加生 動,而純文本内容越來越少。Flash隻是一個開(kāi)端,HTML5環境讓Web開(kāi)發(fā)人員更易于開(kāi)發(fā)出複雜的圖像。市場已經(jīng)出現了一些類似的工具,它們將(jiāng)進(jìn)一 步提高Web開(kāi)發(fā)人員駕馭圖像的能(néng)力,而且随著(zhe)工具的成(chéng)熟,開(kāi)發(fā)人員也將(jiāng)開(kāi)發(fā)出更多更爲專業的複雜圖形。
這(zhè)裡(lǐ)可能(néng)存在的一個問題是,這(zhè)種(zhǒng)圖像的處理可能(néng)會(huì)給客戶端處理器帶來很大負擔,比如對(duì)客戶端的處理器處理能(néng)力有一定要求。在過(guò)去,一些開(kāi)發(fā)人員 根本不敢用Flash插件,因爲渲染和展現Flash内容可能(néng)會(huì)給處理器帶來很大壓力,極大地影響用戶的最終體驗。未來這(zhè)不應該成(chéng)爲問題,開(kāi)發(fā)者不應該因 擔心影響性能(néng)就(jiù)不讓用戶體驗生動的圖像,隻是開(kāi)發(fā)者應該做出一個折中的選擇。每一個抱怨Flash影響性能(néng)的人都(dōu)應該知道(dào),這(zhè)與技術本身沒(méi)有關系,問題來 自設計師們爲了吸引我們的注意力,他們過(guò)多地使用了這(zhè)項技術。
允許Web程序利用本地存儲
Web程序員其實早就(jiù)可以利用浏覽器端的本地存儲空間存儲很多信息,比如IE允許最多300個Cookie,最多存儲4096個字節的内容。不 過(guò),要開(kāi)發(fā)真正實用的Web程序,可能(néng)需要比這(zhè)更多的存儲空間。比如,以前的Dojo工具包使用Flash插件來分配用戶硬盤上的部分空間,把它留給浏覽 器使用,而現在很簡單了,使用HTML5就(jiù)可以達到同樣(yàng)的目的。
對(duì)于這(zhè)部分存儲,程序員可以按照自己的需要任意使用,比如把雲服務的應用和數據保存在本地硬盤上。這(zhè)也使得雲應用的交付、安裝和部署都(dōu)非常像傳 統的應用程序。比如,無論是否有互聯網連接,雲應用程序都(dōu)可以照常運行,因爲之前已經(jīng)從服務器上下載了HTML5應用的JavaScript代碼,這(zhè)部分 代碼就(jiù)保存在本地。
當然,這(zhè)種(zhǒng)技術的應用并不會(huì)影響雲應用的普及,因爲現在的運行模式與過(guò)去有很大不同,本地數據庫實際上扮演的是智能(néng)緩存的作用。另外,遊戲開(kāi)發(fā) 人員可以在本地存儲一些情景信息和裝備信息,這(zhè)樣(yàng)可避免每次一連機就(jiù)要下載這(zhè)些信息,省了下載資料的時(shí)間。而不利的方面(miàn)就(jiù)是這(zhè)些數據庫深埋在系統文件夾之 中,這(zhè)樣(yàng),進(jìn)行數據備份時(shí)就(jiù)變得非常複雜。用戶如果想把數據從一台機器遷移到另一台機器,數據遷移工作可能(néng)就(jiù)會(huì)變得更爲複雜。
或許混合雲的出現可能(néng)解決這(zhè)一問題,混和雲允許雲端和本地都(dōu)保存有數據,而本地計算機隻是緩存數據,最終版本保存在雲中,這(zhè)樣(yàng)從任意一台計算機上就(jiù)可以訪問到。
簡化Web開(kāi)發(fā)中的數據提取
曾從網頁中提取過(guò)數據的Web開(kāi)發(fā)人員都(dōu)知道(dào),現有的HTML結構除了告訴浏覽器這(zhè)些信息在哪裡(lǐ)之外,幾乎不能(néng)再提供任何有意義的信息。而開(kāi)發(fā) 人員需要了解與數據本身有關的信息,這(zhè)些信息能(néng)幫助程序員了解這(zhè)些數據的真正含義。 HTML5中所謂的微格式(Microformat)引入了一種(zhǒng)新的機制,它在HTML中新增了一些專門的标簽,可以幫助程序員分析标簽之中的數據的真實 含義。
沒(méi)有人能(néng)夠預測微格式到底將(jiāng)帶給網絡多少改變,但很容易看出,這(zhè)種(zhǒng)新的機制將(jiāng)給程序員帶來很大方便,幫助程序員開(kāi)發(fā)出更有效率的Web應用。比 如,如果有一個好(hǎo)的、标準的方式來表示日期和時(shí)間,那麼(me)程序員在爲網站開(kāi)發(fā)與時(shí)間有關的Web程序時(shí),就(jiù)無需另外編寫專門的代碼來分析或者猜測别人可能(néng)用 的什麼(me)時(shí)間格式。這(zhè)樣(yàng),日曆、時(shí)間表、日程安排等需要從多個數據源收集時(shí)間信息的應用也就(jiù)變成(chéng)非常簡單的工作了。
支持位置服務
在Web世界裡(lǐ),過(guò)去我們隻知道(dào)其IP地址,那些數字對(duì)應著(zhe)一個什麼(me)樣(yàng)的真實世界我們根本不知道(dào)。比如,某台電腦究竟在哪裡(lǐ),過(guò)去幾乎不可能(néng)知 道(dào),而現在出現的位置服務可以解決這(zhè)個問題。HTML5标準中允許JavaScript詢問浏覽器用戶的地理位置,比如緯度和經(jīng)度信息。通常桌面(miàn)系統不支 持這(zhè)一功能(néng)(因爲需要有GPS或Wi-Fi),但如果終端是手持智能(néng)手機,這(zhè)個功能(néng)就(jiù)可以發(fā)揮作用。
今天,沒(méi)有人能(néng)知道(dào)聰明的程序員會(huì)基于這(zhè)些位置信息創建出什麼(me)應用來,但有一點可以肯定,未來一定可能(néng)以一種(zhǒng)變幻莫測和難以置信的方式將(jiāng)把虛拟世界與現實世界整合到一起(qǐ)。
讓Web視頻播放更流暢
HTML5中的video标簽使Web開(kāi)發(fā)人員很容易地把視頻内容與網頁中的其他内容整合起(qǐ)來,也讓那些從事(shì)jQuery和PHP開(kāi)發(fā)的人員可以加入到Web開(kāi)發(fā)隊伍中,使得Web開(kāi)發(fā)不再僅僅是Flash、Silverlight和JavaFX開(kāi)發(fā)人員的專利。
盡管這(zhè)一設想看起(qǐ)來很誘人,但面(miàn)臨的困難依然不少,因爲HTML5标準中沒(méi)有指定任何編解碼器,而每個人都(dōu)想發(fā)布自己的視頻和聲音編解碼器。這(zhè) 就(jiù)意味著(zhe)我們用一種(zhǒng)混亂取代另一個混亂:隻是過(guò)去我們把嵌入到浏覽器中的軟件稱爲插件,而今天把它稱爲編解碼器而已。因此,今天我們雖然有了一個标準的 video标簽,但浏覽器可能(néng)知道(dào)也可能(néng)不知道(dào)到底如何解釋這(zhè)些視頻内容。
在洛杉矶任教的HTML5應用開(kāi)發(fā)講師Erich Ocean認爲編解碼器的戰争仍在繼續。計算機開(kāi)發(fā)人員和Mozilla組織如果認爲他們能(néng)爲視頻專業人士制定視頻标準,那就(jiù)大錯特錯了。他說(shuō),我們看到 谷歌的新視頻格式在一些地方得到了使用,比如在YouTube網站,但永遠不會(huì)像H.264那樣(yàng)普及。
盡管視頻播放可能(néng)面(miàn)臨比較混亂的局面(miàn),因爲無法讓大家達成(chéng)一緻,但是新的video标簽肯定會(huì)讓互聯網視頻内容越來越豐富,網頁將(jiāng)成(chéng)爲視頻内容 的主要發(fā)布源地,而同時(shí)單純的文字内容也會(huì)越來越少。隻是這(zhè)對(duì)孩子的教育未必是好(hǎo)事(shì),因爲現在的孩子們變得越來越習慣于看動畫,而很少花時(shí)間來閱讀,更别 提書寫了。
Widget將(jiāng)更豐富
在iframe中運行的Widget讓網頁可以把其他網站的内容(比如天氣預報)嵌入進(jìn)來,非常實用也非常受歡迎,但由于安全方面(miàn)的原因,這(zhè)些Widget一直運行在一個相對(duì)獨立的環境中,與網頁中的其他内容基本保持隔離狀态。
而HTML5爲這(zhè)些Widget提供了一個相互通信的标準機制。盡管它們仍然不能(néng)夠相互進(jìn)入對(duì)方的運行環境中,但它們已經(jīng)可以相互發(fā)送信息來協同工作了。
廣告商對(duì)此早就(jiù)期盼已久,它們非常希望能(néng)把分散到同一個網頁各個位置的旗幟廣告整合起(qǐ)來,而從開(kāi)發(fā)的角度來說(shuō),開(kāi)發(fā)人員也一定會(huì)找到其他實際用途。例如,在Web頁面(miàn)上播放的網球比賽畫面(miàn)可以和左右兩(liǎng)邊的球員信息同步起(qǐ)來,這(zhè)在HTML 1.0時(shí)代是難以想象的。
不過(guò),可以發(fā)送信息、相互通信機制隻是一個開(kāi)始,下一個亟待解決的是通信協議的問題,因爲至今還(hái)沒(méi)有這(zhè)方面(miàn)的一個标準。隻有爲傳遞信息設立一個标準後(hòu),兩(liǎng)個不同開(kāi)發(fā)團隊開(kāi)發(fā)出來的Widget之間才有可能(néng)相互通信。換句話說(shuō),通信雙方需要更多的标準詞彙。
提高浏覽器的安全性
每個浏覽器插件都(dōu)是一個單獨的應用程序,不同的浏覽器插件是由不同的程序員按照不同的标準開(kāi)發(fā)的,發(fā)布時(shí)間不同,安全模式也不同。很自然地,有 些插件會(huì)比其他的更安全。随著(zhe)浏覽器中的插件越來越多,要跟蹤每個浏覽器插件中可能(néng)存在的安全漏洞越來越複雜。比如,你企業中去年年末某個時(shí)候的安全漏洞 到底是出在插件還(hái)是浏覽器,最後(hòu)是通過(guò)升級浏覽器而不是升級插件來解決的還(hái)是反過(guò)來,可能(néng)很難有人記得那麼(me)清楚。
把很多功能(néng)内置到HTML5而不是使用插件可以大大降低安全風險,避免與插件開(kāi)發(fā)有關的多個環節出現問題,更可以防止有人故意利用插件中的 API安裝惡意代碼。因爲相對(duì)而言,Firefox、Chrome或IE浏覽器等的安全性通常會(huì)經(jīng)過(guò)更多的人(包括安全小組)的審計,如果安全小組認爲某 個浏覽器安全,一般來說(shuō),其安全風險肯定要少得多。
不過(guò),這(zhè)裡(lǐ)所說(shuō)的安全性有所改善帶有一定程度的主要臆測。這(zhè)個世界總會(huì)有一些人把它們的聰明才智用到邪道(dào)上,他們完全可能(néng)利用HTML5的某種(zhǒng)特性來從事(shì)一些惡意行爲。隻是現在沒(méi)有人能(néng)夠預測HTML5的新功能(néng)中到底可能(néng)隐藏著(zhe)哪些危險。
簡化Web開(kāi)發(fā)
在一家Web軟件開(kāi)發(fā)公司工作的開(kāi)發(fā)人員的話很有代表性,它簡明扼要地闡述了HTML5可能(néng)帶來的變化。他說(shuō):我更喜歡HTML5,主要是因爲 它使我能(néng)夠在一個統一的開(kāi)發(fā)環境下進(jìn)行開(kāi)發(fā),這(zhè)個環境就(jiù)是浏覽器加JavaScript再加上DOM,而不必在Flash世界和HTML5的世界之間來回 切換。未來隻要掌握一門開(kāi)發(fā)語言和一個工具集,就(jiù)可以開(kāi)發(fā)任何插件。
他補充說(shuō),我認爲,對(duì)于用戶而言好(hǎo)處也是很明顯的,而現在Flash仿佛在互聯網世界裡(lǐ)另外創立了一片天地。
的确,HTML5采用了統一的語言(JavaScript)、統一的數據模型(XML和DOM)和統一的表現規則(CSS)來表現文本、音頻、 視頻和圖形,對(duì)于開(kāi)發(fā)者而言無疑的是非常理想的,基于一個統一的标準開(kāi)發(fā)環境,工作肯定會(huì)簡單不少。但要讓一切都(dōu)成(chéng)爲現實挑戰仍然是巨大的,一個突出問題 是工具的缺乏,現在HTML5的相關工具方面(miàn)還(hái)很少。不可否認,Flash的流行與Adobe爲Flash的開(kāi)發(fā)提供了非常好(hǎo)用的工具密不可分。
鏈接:HTML的演進(jìn)曆程
HTML全稱是超文本标示語言(Hypertext Markup Language),是用來描述網頁的一種(zhǒng)規範。正是這(zhè)些容納在尖括号裡(lǐ)的簡單标簽,構成(chéng)了如今的 Web。
HTML的第一個官方版本是由IETF (互聯網工程任務組) 推出的 HTML 2.0。後(hòu)來,W3C 取代 IETF 的角色,成(chéng)爲HTML标準制訂的組織,上個世紀90年代的後(hòu)半葉,HTML 的版本被(bèi)頻繁修改,直到1999年的HTML 4.01,至此,HTML到達了它的第一個巅峰。
HTML在HTML 4.01 之後(hòu)的第一個修訂版本就(jiù)是 XHTML 1.0,其中X代表 eXtensible。 XHTML 1.0 是基于HTML 4.01 的,并沒(méi)有引入任何新标簽或屬性,唯一的區别是語法,HTML對(duì)語法比較随便,而XHTML則要求XML般的嚴格語法。後(hòu)來,W3C又推出了XHTML 1.1。
對(duì) W3C 而言,到了 HTML 4已經(jīng)是功德圓滿,他們的下一步工作是XHTML 2.0,希望將(jiāng)Web帶向(xiàng)XML的光明未來。然而,來自Opera、Apple以及 Mozilla 的代表不滿意W3C的工作,他們自發(fā)組織成(chéng)立了超文本應用技術工作組,這(zhè)就(jiù)是WHATWG,他們緻力于HTML5 規範。
在WHATWG緻力于HTML5的同時(shí),W3C繼續他們的XHTML 2.0。不過(guò),W3C在XHTML 2.0方面(miàn)的工作慢慢地陷入困境,後(hòu)來終止了XHTML 2.0的工作,并于2007年組建了一個新的HTML工作組,他們非常明智地選擇了 WHATWG 的成(chéng)果作爲基礎,緻力于制訂HTML5規範。
經(jīng)過(guò)多年的醞釀,HTML5的草案于2008年發(fā)布,目前W3C正在對(duì)它進(jìn)行進(jìn)一步完善。現在,關于HTML5何時(shí)會(huì)正式成(chéng)爲标準還(hái)沒(méi)有一個明 确的說(shuō)法。好(hǎo)消息是,2012年HTML5可能(néng)會(huì)被(bèi)接納爲候選标準。不過(guò),可以預料的是,HTML5無論何時(shí)能(néng)成(chéng)爲标準,HTML5要被(bèi)所有浏覽器提供商 所接納肯定是一個比較長(cháng)期的過(guò)程。
登錄 參與評論
評論
暫無任何評論