現(xiàn)在的HTML5就像當(dāng)年嶄露頭角時(shí)的Ajax,有人在做,但不知道叫它什么。最近,蘋(píng)果在HTML5上大做文章,而著名的Web設(shè)計(jì)師Eric Meyer則提出了Web Stacks的概念。Alex Kessinger是Yahoo的一名前端工程師,本文是他對(duì)HTML5應(yīng)用現(xiàn)狀與前景的思考。
開(kāi)源模式帶來(lái)轉(zhuǎn)變
O’Reilly創(chuàng)始人,TimO’Reilly,一位開(kāi)源的支持者,曾在《Open Source Paradigm Shift》中如是說(shuō):
"IBM對(duì)個(gè)人電腦設(shè)計(jì)的商品化使利潤(rùn)從硬件轉(zhuǎn)移到軟件這一層面,而開(kāi)源將帶來(lái)新的財(cái)富"
價(jià)值在不同的層面轉(zhuǎn)移,HTML5將成為新的層面,商品的價(jià)值在下降,現(xiàn)時(shí)的瀏覽器已經(jīng)成為商品,但這并沒(méi)有問(wèn)題,只要它們都遵守標(biāo)準(zhǔn)。人們說(shuō),我們可以將操作系統(tǒng)置入瀏覽器中,但這行不通,如果我們可以從過(guò)去的經(jīng)歷中學(xué)到些什么,那就是,不能簡(jiǎn)單照抄過(guò)去的模式,好比廣播到電視的變遷,你不能簡(jiǎn)單地在一個(gè)播音員面前放臺(tái)攝像機(jī)完事,將操作系統(tǒng)置入瀏覽器未必比HTML5離線應(yīng)用本身更有價(jià)值。
發(fā)布渠道的重要
諸如蘋(píng)果應(yīng)用商店,Android應(yīng)用商店一類(lèi)的渠道將成為主導(dǎo),另外,一些新的,象Valve游戲渠道,Netflix電影渠道一類(lèi)的東西將會(huì)出現(xiàn),在”云“時(shí)代,這些發(fā)布渠道將像桌面時(shí)代的操作系統(tǒng)一樣用來(lái)對(duì)用戶進(jìn)行組織和歸類(lèi)。
我們是如何到達(dá)現(xiàn)在這個(gè)階段的?
有兩個(gè)關(guān)鍵的因素。
感謝Web標(biāo)準(zhǔn)
盡管瀏覽器市場(chǎng)并不統(tǒng)一,但至少他們都運(yùn)行HTML,JavaScript和CSS。當(dāng)我們希望通過(guò)Web推出一些東西的時(shí)候,我們知道,無(wú)論如何,用戶都能看到,然而你能想象人們都自己定義Web時(shí)的情景嗎,假如有人不使用HTTP協(xié)議,或者不使用HTML,那才是世界的末日。W3C一類(lèi)的組織讓各個(gè)瀏覽器廠家都保持同一個(gè)方向。
還好,我們并沒(méi)有很多渲染引擎
瀏覽器并不好做,數(shù)十億的網(wǎng)頁(yè),參差不齊的代碼,這些東西讓獨(dú)立開(kāi)發(fā)者沒(méi)有機(jī)會(huì)單獨(dú)設(shè)計(jì)瀏覽器,因此,有能力設(shè)計(jì)瀏覽器的始終是那么一小撮廠商,事實(shí)上,時(shí)至今日,我們只有四種主要的瀏覽器渲染引擎,Trident(IE),Gecko(Mozilla,Firefox),WebKit(Chrome,Safari),以及Presto(Opera),而眾多瀏覽器都是建立在這些渲染引擎之上的。這意味著,不管在什么樣的設(shè)備上,我們不用太擔(dān)心它使用什么樣的瀏覽器,不管什么設(shè)備,只要它有一個(gè)瀏覽器,就有一個(gè)可以運(yùn)行HTML5的環(huán)境。
標(biāo)準(zhǔn)何日面世?
關(guān)于HTML5成為標(biāo)準(zhǔn)的時(shí)間,IanHixie的說(shuō)法最受認(rèn)可:
“根據(jù)估計(jì),HTML5直到2022年才會(huì)形成W3C推薦標(biāo)準(zhǔn)”
然而,雖然標(biāo)準(zhǔn)的形成尚待時(shí)日,但瀏覽器廠商已經(jīng)在實(shí)現(xiàn)各種HTML5功能。
功能探測(cè)vs瀏覽器探測(cè)
如果你是開(kāi)發(fā)者,你可以使用那些高級(jí)功能,但需要進(jìn)行功能探測(cè)并提供漸進(jìn)式設(shè)計(jì)。坊間有大量的功能探測(cè)庫(kù),如Modernizer,另外,Mark Pilgrim有一個(gè)清單,它可以讓你探測(cè)任何功能。
離線API
離線API是一切HTML5應(yīng)用的基礎(chǔ),不單單是離線數(shù)據(jù)的事,對(duì)開(kāi)發(fā)者來(lái)說(shuō),擁有本地存儲(chǔ)(local Storage)自然很好,但如何讓程序完全離線運(yùn)行?Application Cache是答案。如果不能離線保存源文件和數(shù)據(jù),我們就無(wú)法實(shí)現(xiàn)離線的HTML5應(yīng)用。
我們目前有幾種離線存儲(chǔ)機(jī)制,簡(jiǎn)單的如localStorage和SQL存儲(chǔ)引擎,已經(jīng)有一些瀏覽器在支持了,而最新的明星是IndexedDatabase,它得到了所有主流瀏覽器支持。這些離線保存應(yīng)用和數(shù)據(jù)的能力,是HTML5的基礎(chǔ),目前,Webkit,F(xiàn)irefox已經(jīng)可以實(shí)現(xiàn),而IE9也即將實(shí)現(xiàn)。即時(shí)IE9的支持還需要等待,想一下,最需要離線應(yīng)用的場(chǎng)合是哪里,自然是智能手機(jī)和上網(wǎng)本,智能手機(jī)多數(shù)都是用Webkit。
W3C Web應(yīng)用工作組:HTML5應(yīng)用的下一步
W3CWebApps標(biāo)準(zhǔn)已經(jīng)做了大量工作,包括API及HTML5 Web程序細(xì)則。
HTML5應(yīng)用的打包部署HTML5 apps–QuirksBlog博客文章中說(shuō),"對(duì)于本地/離線HTML5應(yīng)用,W3C Widget packaging and configuration是首選機(jī)制,并將成為事實(shí)標(biāo)準(zhǔn),很多廠商已經(jīng)開(kāi)始對(duì)之進(jìn)行實(shí)現(xiàn)。W3C Widgets支持任意平臺(tái)的Vodafone S60和Samsung手機(jī),Opera桌面與移動(dòng)瀏覽器,Bolt瀏覽器以及Windows Mobile6.5。BlackBerry也支持,不過(guò)需要特殊的Java包。"這些都是標(biāo)準(zhǔn),本質(zhì)上講,如果你有一個(gè)HTML5應(yīng)用,它就會(huì)包含HTML,CSS,以及JS,這些標(biāo)準(zhǔn)只不過(guò)偶是幫助開(kāi)發(fā)者將他們的程序打包發(fā)行,如果你熟悉PEAR,它們是很相似的概念。你可能需要一些元數(shù)據(jù),告訴系統(tǒng)你的程序是如何打包在一起的,在支持這些標(biāo)準(zhǔn)的平臺(tái)上,你就可以保證你的用戶可以順利運(yùn)行這些程序。
其它
HTML5還有更多API可以幫助開(kāi)發(fā)者創(chuàng)建應(yīng)用,這些API可以讓你的程序訪問(wèn)諸如本地文件,攝像頭,SOCKET通信服務(wù),以及硬件動(dòng)畫(huà)加速等。這些API僅僅是開(kāi)端,這樣的API后期會(huì)越來(lái)越多。
HTML5程序可以應(yīng)用在哪里?
當(dāng)然是瀏覽器,如果一個(gè)設(shè)備擁有一個(gè)瀏覽器或渲染引擎,而且這個(gè)引擎是現(xiàn)代引擎,它就可以運(yùn)行HTML5程序。HTML5程序會(huì)應(yīng)用在以下幾種場(chǎng)合。
桌面
如果你擁有一個(gè)符合Web標(biāo)準(zhǔn)的瀏覽器,就可以運(yùn)行HTML5應(yīng)用。桌面仍然很重要。
指定站點(diǎn)瀏覽器
諸如Gmail一類(lèi)的站點(diǎn)可以看做一個(gè)應(yīng)用,使用專(zhuān)門(mén)的瀏覽器運(yùn)行,這樣的瀏覽器沒(méi)有地址欄,是專(zhuān)門(mén)用來(lái)運(yùn)行指定站點(diǎn)應(yīng)用的,甚至可以制作一個(gè)安裝包來(lái)分發(fā)。以下資源值得一看,Prism,Fluid/Fluidium以及NativeHost。
移動(dòng)領(lǐng)域
這是HTML5最熱門(mén)的運(yùn)行場(chǎng)所。iPhone可以和很多程序集成,將你的程序顯示在它的今日桌面(這里有一個(gè)教程),Android也支持需要的HTML5API,但集成不夠好。未來(lái)幾年,支持HTML5的移動(dòng)瀏覽器將如雨后春筍,將你的應(yīng)用向HTML5遷移是很明智的,因?yàn)镠TML5將很好地運(yùn)行在這些設(shè)備上。
跨界領(lǐng)域
已經(jīng)有公司即將發(fā)布電視平臺(tái),GoogleTV以及AppleTV,Google表示,他們的TV平臺(tái)將支持HTML5,我們不知道蘋(píng)果的TV平臺(tái)將支持什么,鑒于他們最近對(duì)HTML5的一系列炒作,很有可能也支持。另外一些電視盒廠商,如Boxee業(yè)已開(kāi)始支持HTML5,如果你想為Boxee開(kāi)發(fā)應(yīng)用,與其專(zhuān)門(mén)為它開(kāi)發(fā),不如直接使用HTML5。
跨界領(lǐng)域擁有大量的平臺(tái),那些可以連接電腦的電視的數(shù)量在不斷增長(zhǎng),我們已經(jīng)可以在電視上全屏觀看YouTube,而備受歡迎的Wii則內(nèi)置了Opera。所有這些,都將借助HTML,CSS與JavaScript。
HTML5應(yīng)用商店
Eric Meyer講到了HTML5應(yīng)用程序問(wèn)題,他將HTML5應(yīng)用成為Web Stack Apps,HTML5要獲得更多關(guān)注,可以建立HTML5應(yīng)用商店。Chrome正在這樣做,而Palm已經(jīng)有了一個(gè)這樣的東西。
應(yīng)用商店是很好的東西,開(kāi)發(fā)者可以直接得到報(bào)酬,而無(wú)需像現(xiàn)在這樣靠廣告維持,同時(shí),用戶也將有一個(gè)地方去為他們的設(shè)備尋找程序。
HTML5市場(chǎng)前景
HTML5在快速成長(zhǎng),值得所有人密切關(guān)注,最近的一兩年,會(huì)有很多公司進(jìn)入這個(gè)領(lǐng)域,我們或許會(huì)在Chrome應(yīng)用商店看到一些重量級(jí)廠商,我們也有希望在Google TV和Apple TV領(lǐng)域看到一些應(yīng)用商店的出現(xiàn)。HTML5會(huì)像傳統(tǒng)的Flash,F(xiàn)lex,Silverlight,Objective-C那樣,形成自己的生態(tài)系統(tǒng)。HTML5將比Flash,Flex,Silverlight以及Objective-C更容易出現(xiàn)在任何設(shè)備。
對(duì)于年輕一代開(kāi)發(fā)者,HTML5應(yīng)當(dāng)是他們首選技能,HTML5會(huì)形成很大的市場(chǎng),很有很多公司需要這方面的人才。(原文來(lái)自:sixrevisions)
進(jìn)入論壇>>(責(zé)任編輯:阿 灰)聲明:IT商業(yè)新聞網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其描述。文章內(nèi)容僅供參考。新聞咨詢:(010)68023640.推薦閱讀
谷歌構(gòu)建收費(fèi)渠道 測(cè)試電子報(bào)紙支付平臺(tái)
從目前情況看Checkout系統(tǒng)已是奄奄一息,因此很難想象Newspass將取得成功。另外在尚未清楚內(nèi)容是否合適的情況下,消費(fèi)者是不會(huì)輕易點(diǎn)擊付費(fèi)的,何況免費(fèi)內(nèi)容仍然充斥網(wǎng)絡(luò)。 6月20日消息,據(jù)國(guó)外媒體報(bào)道,谷歌正在為>>>詳細(xì)閱讀
本文標(biāo)題:關(guān)于HTML5應(yīng)用現(xiàn)狀與前景的思考
地址:http://m.sdlzkt.com/a/01/20111231/241676.html