HTML5 应用的现状与前景
HTML5 似乎是目前互聯(lián)網(wǎng)最為火爆的名字了,因?yàn)檎麄€(gè)互聯(lián)網(wǎng)幾乎完全都建立在HTML的基礎(chǔ)之上,雖然無 論后臺技術(shù)如何發(fā)展,前臺基于瀏覽器和HTML的局面仍然是最為重要的,因?yàn)楫吘箇eb 應(yīng)用最終還是基于HTML進(jìn)行展示。而備受瀏覽器廠商追捧的HTML5 到底能帶來什么變革呢?下面是摘自開源中國社區(qū)的一篇文章,希望能給廣大web愛好者一些啟示。
現(xiàn)在的 HTML5 就像當(dāng)年嶄露頭角時(shí)的 Ajax ,有人在做,但不知道叫它什么。最近,蘋果在 HTML5 上大做文章 ,而著 名的 Web 設(shè)計(jì)師 Eric Meyer 則提出了 Web Stacks 的概念。Alex Kessinger 是 Yahoo 的一名前端工程師,本文是他對 HTML5 應(yīng)用現(xiàn)狀與前景的思考。
術(shù)語
首先說說 HTML5 應(yīng)用中的幾個(gè)定義。
HTML5
HTML5 最好的定義來自? Mark Pilgrim 的 Dive Into HTML5 :
“HTML5 是繼 HTML4.01,XHTML 1.0/1.1 之后的下一代 HTML “
值得一提的是,我們或許能看到 HTML6,然而按 Pilgrim 在 WHATWG 博客 中 的說法,下一代 HTML 很可能去掉版本號這一概念。
應(yīng)用
來自 Wikipedia 的解釋:
“應(yīng)用程序是計(jì)算機(jī)用來執(zhí)行特定任務(wù)的軟件 “
HTML5 應(yīng)用
從用戶的角度,HTML5 應(yīng)用和其它的計(jì)算機(jī)應(yīng)用程序還不完全一樣,但已經(jīng)很接近。從開發(fā)者的角度,HTML5 應(yīng)用是一些基于 HTML,JavaScript,CSS 的程序,它們使用開放技術(shù),可以離線使用,可以取代諸如 Silverlight 及 Flash 等專用平臺的部分工作。或者說,多年來,你用來創(chuàng)建 Web 頁面的東西,現(xiàn)在可以用來創(chuàng)建類似桌面和智能手機(jī)程序的應(yīng)用。
開源模式帶來轉(zhuǎn)變
O’Reilly 創(chuàng)始人,Tim O’Reilly,一位開源的支持者,曾在《Open Source Paradigm Shift 》中如是說:
“IBM 對個(gè)人電腦設(shè)計(jì)的商品化使利潤從硬件轉(zhuǎn)移到軟件這一層面,而開源將帶來新的財(cái)富 “
價(jià)值在不同的層面轉(zhuǎn)移,HTML5 將成為新的層面,商品的價(jià)值在下降,現(xiàn)時(shí)的瀏覽器已經(jīng)成為商品,但這并沒有問題,只要它們都遵守標(biāo)準(zhǔn)。人們說,我們可以將操作系統(tǒng)置入瀏覽器中,但這行不 通,如果我們可以從過去的經(jīng)歷中學(xué)到些什么,那就是,不能簡單照抄過去的模式,好比廣播到電視的變遷,你不能簡單地在一個(gè)播音員面前放臺攝像機(jī)完事,將操 作系統(tǒng)置入瀏覽器未必比 HTML5 離線應(yīng)用本身更有價(jià)值。
發(fā)布渠道的重要
諸如 蘋果應(yīng)用商店,Android 應(yīng)用商店一類的渠道將成為主導(dǎo),另外,一些新的,象 Valve 游戲渠道,Netflix 電影渠道一類的東西將會出現(xiàn),在”云“時(shí)代,這些發(fā)布渠道將像桌面時(shí)代的操作系統(tǒng)一樣用來對用戶進(jìn)行組織和歸類。
我們是如何到達(dá)現(xiàn)在這個(gè)階段的?
有兩個(gè)關(guān)鍵的因素。
感謝 Web 標(biāo)準(zhǔn)
盡管瀏覽器市場并不統(tǒng)一,但至少他們都運(yùn)行 HTML,JavaScript 和 CSS。當(dāng)我們希望通過 Web 推出一些東西的時(shí)候,我們知道,無論如何,用戶都能看到,然而你能想象人們都自己定義 Web 時(shí)的情景嗎,假如有人不使用 HTTP協(xié)議,或者不使用 HTML,那才是世界的末日。W3C 一類的組織讓各個(gè)瀏覽器廠家都保持同一個(gè)方向。
還好,我們并沒有很多渲染引擎
瀏覽器并不好做,數(shù)十億的網(wǎng)頁,參差不齊的代碼,這些東西讓獨(dú)立開發(fā)者沒有機(jī)會單獨(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í)間,Ian Hixie 的說法最受認(rèn)可:
“根據(jù)估計(jì),HTML5 直到 2022 年才會形成 W3C 推薦標(biāo)準(zhǔn) “
然而,雖然標(biāo)準(zhǔn)的形成尚待時(shí)日,但瀏覽器廠商已經(jīng)在實(shí)現(xiàn)各種 HTML5 功能。
功能探測 vs 瀏覽器探測
如果你是開發(fā)者,你可以使用那些高級功能,但需要進(jìn)行功能探測并提供漸進(jìn)式設(shè)計(jì)。坊間有大量的功能探測庫,如 Modernizer ,另外,Mark Pilgrim 有一個(gè)清單,它可以讓你探測任何功能 。
離線 API
離線 API 是一切 HTML5 應(yīng)用的基礎(chǔ),不單單是離線數(shù)據(jù)的事,對開發(fā)者來說,擁有本地存儲(localStorage ) 自然很好,但如何讓程序完全離線運(yùn)行?Application Cache 是答案。如果不能離線保存源文件和數(shù)據(jù),我們就無法實(shí)現(xiàn)離線的 HTML5 應(yīng)用。
我們目前有幾種離線存儲機(jī)制,簡單的如 localStorage 和 SQL 存儲引擎,已經(jīng)有一些瀏覽器在支持了,而最新的明星是 Indexed Database ,它得到了所有主流瀏覽器 支持。這些離線保存應(yīng)用和數(shù)據(jù)的能力,是 HTML5 的基礎(chǔ),目前,Webkit,Firefox 已經(jīng)可以實(shí)現(xiàn),而 IE9 也即將實(shí)現(xiàn)。即時(shí) IE9 的支持還需要等待,想一下,最需要離線應(yīng)用的場合是哪里,自然是智能手機(jī)和上網(wǎng)本,智能手機(jī)多數(shù)都是用 Webkit。
W3C Web 應(yīng)用工作組:HTML5 應(yīng)用的下一步
W3C WebApp s 標(biāo)準(zhǔn)已經(jīng)做了大量工作,包括 API 及 HTML5 Web 程序細(xì)則。
HTML5 應(yīng)用的打包部署
?
HTML5 apps – QuirksBlog 博客文章中說,”對于本地/離線 HTML5 應(yīng)用,W3C Widget packaging and configuration 是首選機(jī)制,并將成為事實(shí)標(biāo)準(zhǔn),很多廠商已經(jīng)開始對之進(jìn)行實(shí)現(xiàn)。W3C Widgets 支持任意平臺的 Vodafone S60 和 Samsung 手機(jī) , Opera 桌面與移動(dòng)瀏覽器 ,Bolt 瀏覽器 以及 Windows Mobile 6.5 。BlackBerry 也支持,不過需要特殊的 Java 包。 “這些都是標(biāo)準(zhǔn),本質(zhì)上講,如果你有一個(gè) HTML5 應(yīng)用,它就會包含 HTML, CSS, 以及 JS,這些標(biāo)準(zhǔn)只不過偶是幫助開發(fā)者將他們的程序打包發(fā)行,如果你熟悉 PEAR , 它們是很相似的概念。你可能需要一些元數(shù)據(jù),告訴系統(tǒng)你的程序是如何打包在一起的,在支持這些標(biāo)準(zhǔn)的平臺上,你就可以保證你的用戶可以順利運(yùn)行這些程序。
其它
HTML5 還有更多 API 可以幫助開發(fā)者創(chuàng)建應(yīng)用,這些 API 可以讓你的程序訪問諸如本地文件 ,攝像頭 ,SOCKET 通信服務(wù) , 以及硬件動(dòng)畫加速等。這些 API 僅僅是開端,這樣的 API 后期會越來越多。
HTML5 程序可以應(yīng)用在哪里?
當(dāng)然是瀏覽器,如果一個(gè)設(shè)備擁有一個(gè)瀏覽器或渲染引擎,而且這個(gè)引擎是現(xiàn)代引擎,它就可以運(yùn)行 HTML5 程序。HTML5 程序會應(yīng)用在以下幾種場合。
桌面
如果你擁有一個(gè)符合 Web 標(biāo)準(zhǔn)的瀏覽器,就可以運(yùn)行 HTML5 應(yīng)用。桌面仍然很重要。
指定站點(diǎn)瀏覽器
諸如 Gmail 一類的站點(diǎn)可以看做一個(gè)應(yīng)用,使用專門的瀏覽器 運(yùn)行,這 樣的瀏覽器沒有地址欄,是專門用來運(yùn)行指定站點(diǎn)應(yīng)用的,甚至可以制作一個(gè)安裝包來分發(fā)。以下資源值得一看,Prism , Fluid /Fluidium 以及 NativeHost 。
移動(dòng)領(lǐng)域
這是 HTML5 最熱門的運(yùn)行場所。iPhone 可以和很多程序集成,將你的程序顯示在它的今日桌面(這里有一個(gè)教 程 ),Android 也支持需要的 HTML5 API,但集成不夠好。未來幾年,支持 HTML5 的移動(dòng)瀏覽器將如雨后春筍,將你的應(yīng)用向 HTML5 遷移是很明智的,因?yàn)?HTML5 將很好地運(yùn)行在這些設(shè)備上。
跨界領(lǐng)域
已經(jīng)有公司即將發(fā)布電視平臺,Google TV 以及 Apple TV ,Google 表示,他們的 TV 平臺將支持 HTML5,我們不知道蘋果的 TV 平臺將支持什么,鑒于他 們最近對 HTML5 的一系列炒作 , 很有可能也支持。另外一些電視盒廠商,如 Boxee 業(yè)已開始支持 HTML5,如果你想為 Boxee 開發(fā)應(yīng)用,與其專門為它開發(fā),不如直接使用 HTML5。
跨界領(lǐng)域擁有大量的平臺,那些可以連接電腦的電視的數(shù)量在不斷增長,我們已經(jīng)可以在電視上全屏觀看 YouTube,而備受歡迎的 Wii 則內(nèi)置了 Opera。所有這些,都將借助 HTML,CSS 與 JavaScript。
HTML5 應(yīng)用商店
Eric Meyer 講到了 HTML5 應(yīng)用程序問題,他將 HTML5 應(yīng)用成為 Web Stack Apps , HTML5 要獲得更多關(guān)注,可以建立 HTML5 應(yīng)用商店 。Chrome 正在這樣做,而 Palm 已經(jīng)有了一個(gè)這樣的東西 。
應(yīng)用商店是很好的東西,開發(fā)者可以直接得到報(bào)酬,而無需像現(xiàn)在這樣靠廣告維持,同時(shí),用戶也將有一個(gè)地方去為他們的設(shè)備尋找程序。
HTML5 市場前景
HTML5 在快速成長,值得所有人密切關(guān)注,最近的一兩年,會有很多公司進(jìn)入這個(gè)領(lǐng)域,我們或許會在 Chrome 應(yīng)用商店看到一些重量級廠商,我們也有希望在 Google TV 和 Apple TV 領(lǐng)域看到一些應(yīng)用商店的出現(xiàn)。HTML5 會像傳統(tǒng)的 Flash,Flex,Silverlight,Objective-C 那樣,形成自己的生態(tài)系統(tǒng)。HTML5 將比 Flash, Flex, Silverlight 以及 Objective-C 更容易出現(xiàn)在任何設(shè)備。
對于年輕一代開發(fā)者,HTML5 應(yīng)當(dāng)是他們首選技能,HTML5 會形成很大的市場,很有很多公司需要這方面的人才。
?
摘自: 開源中國社區(qū)
轉(zhuǎn)載于:https://www.cnblogs.com/lanzhi/archive/2010/06/20/6468835.html
總結(jié)
以上是生活随笔為你收集整理的HTML5 应用的现状与前景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Microsoft Sql serve
- 下一篇: 中文域名命名規則