摘 要:HTML5技術(shù)自開發(fā)至今,已成為下一代互聯(lián)網(wǎng)的默認(rèn)標(biāo)準(zhǔn)。基于HTML5的移動(dòng)Web App正逐漸成為新興的應(yīng)用形式。文章首先介紹了HTML5的發(fā)展和HTML5的特點(diǎn),接著介紹了移動(dòng)互聯(lián)網(wǎng)應(yīng)用的分類以及移動(dòng)Web App的發(fā)展現(xiàn)狀,最后說明了利用HTML5技術(shù)開發(fā)Web App的方案。
關(guān)鍵詞:HTML5;移動(dòng)Web App
中圖分類號:TP399
HTML5是互聯(lián)網(wǎng)的下一代標(biāo)準(zhǔn),是互聯(lián)網(wǎng)的核心技術(shù)之一。產(chǎn)生于1990年的HTML到1997年已經(jīng)成為互聯(lián)網(wǎng)標(biāo)準(zhǔn)HTML4,被廣泛應(yīng)用于互聯(lián)網(wǎng)應(yīng)用開發(fā)。目前,HTML的最新版本是HTML5,尚處于開發(fā)階段,其標(biāo)準(zhǔn)未正式發(fā)布,HTML5的發(fā)展歷程如圖1[1]。
在HTML5出現(xiàn)之前,移動(dòng)互聯(lián)網(wǎng)主要以應(yīng)用App為主,隨著HTML5的出現(xiàn)移動(dòng)Web App得到了很大的發(fā)展。在國外,2012年由美國頂級通信運(yùn)營商AT&T推出一款A(yù)pp Center HTML5的應(yīng)用商店。至今為止,AT&T已經(jīng)公布了面向HTML5應(yīng)用的APP平臺(tái)APICatalog。與此同時(shí),F(xiàn)acebook正在計(jì)劃推出一款基于HTML5的手機(jī)應(yīng)用程序開發(fā)平臺(tái),在平臺(tái)上可以無需手機(jī)操作系統(tǒng),直接運(yùn)行手機(jī)游戲及其他程序。在國內(nèi),中國移動(dòng)推出了NobleLeader應(yīng)用開發(fā)平臺(tái),該平臺(tái)適用于iOS、Android、Windows Mobile、Symbian等操作系統(tǒng),在平臺(tái)上開發(fā)者可以直接通過HTML5進(jìn)行應(yīng)用程序的開發(fā)和編譯。
1 HTML5的特點(diǎn)
HTML5是Web標(biāo)準(zhǔn)的巨大飛躍,與以前版本相比,HTML5不但可以表示W(wǎng)eb內(nèi)容,而且還是一個(gè)成熟的應(yīng)用平臺(tái)。HTML5的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面[2]:
(1)具有語義的結(jié)構(gòu)化標(biāo)簽:包括section、article、header、navigation、footer、hgroup、aside等,使得HTML5在文檔結(jié)構(gòu)上較HTML4.01更加清晰和易讀。
(2)對離線存儲(chǔ)有更好的支持:sessionStorage和localStorage提供與cookies相似的功能;IndexedDB幫助Web應(yīng)用存儲(chǔ)復(fù)雜結(jié)構(gòu)的數(shù)據(jù);Offline App Cache將資源文件緩存到本地,使用戶在離線狀態(tài)下也能使用Web App,為開發(fā)離線的移動(dòng)Web App奠定了基礎(chǔ)。
(3)增強(qiáng)的多媒體能力:HTML5大大提高了Web應(yīng)用中的視頻和音頻,圖形,字體,和數(shù)學(xué)公式的其它方面的性能,例如2D、3D繪圖渲染的強(qiáng)大能力可以通過HTML5的畫布(Canvas)特性實(shí)現(xiàn);在網(wǎng)頁中,不需使用Adobe Flash、微軟Silver light等私有插件和協(xié)議等,就可以利用HTML5中的
(4)設(shè)備及應(yīng)用API:HTML5制訂了一系列驅(qū)動(dòng)設(shè)備API函數(shù),極大提升了Web App訪問和調(diào)用終端設(shè)備的能力,這些函數(shù)主要包括攝像頭API、通信錄API、各種傳感器API等。
(5)多線程并發(fā):HTML5新增了WebWorkers組件,該特性彌補(bǔ)了Web App以往只能單線程運(yùn)行的短板,使得Web操作可以并行的、多線程的執(zhí)行。
2 HTML5在移動(dòng)Web App中的應(yīng)用
2.1 移動(dòng)互聯(lián)網(wǎng)應(yīng)用的分類
目前,主要有兩種移動(dòng)互聯(lián)網(wǎng)應(yīng)用:一種是移動(dòng)Web App,另一種是本地應(yīng)用(Native App)。前者是指不直接依賴于終端操作系統(tǒng)的原始支持語言,而是采用普通的網(wǎng)頁編程語言進(jìn)行開發(fā)的,能夠直接運(yùn)行在Web引擎上的,具有良好的跨平臺(tái)性的應(yīng)用。后者是指采用一般的操作系統(tǒng)所支持的原始語言,如Android操作系統(tǒng)中的Java、IOS操作系統(tǒng)中的Object-C、Windows Phone操作系統(tǒng)中的C#或C++等進(jìn)行開發(fā)的,數(shù)據(jù)的運(yùn)算和存儲(chǔ)均在本地(移動(dòng)終端)操作系統(tǒng)上實(shí)現(xiàn)的應(yīng)用。
2.2 移動(dòng)Web App的分類
HTML5的出現(xiàn)帶來了大量移動(dòng)Web App應(yīng)用的繁榮,這些移動(dòng)Web App可以分為兩類:
(1)桌面Web App的移動(dòng)化:這些App包括百度和谷歌的地圖應(yīng)用移動(dòng)版,他們使用了HTML5的地理定位API;Gmail移動(dòng)Web版可以使用戶離線閱讀郵件;優(yōu)酷和愛奇藝等視頻網(wǎng)站使用HTML5的
(2)純移動(dòng)Web App:典型的例子有天氣應(yīng)用Sun、閱讀應(yīng)用美閱等。借助HTML5技術(shù)的特點(diǎn)和優(yōu)勢,它們在性能和體驗(yàn)上都與本地應(yīng)用非常相似,有著很好的表現(xiàn)[3]。
2.3 移動(dòng)終端的瀏覽器對HTML5的支持程度
開發(fā)移動(dòng)Web App時(shí),完全使用HTML5技術(shù)(HTML5+JS+CSS3)有時(shí)需要終端系統(tǒng)的瀏覽器調(diào)用Device API來實(shí)現(xiàn)。因此,基于HTML5標(biāo)準(zhǔn)的Web App需要瀏覽器的支持。目前對HTML5支持較好的平板電腦瀏覽器版本包括Opera Mobile 12.00、FireFox Mobile 10、iOS 5.0&5.1、Android 4.0等;對HTML5支持較好的手機(jī)瀏覽器包括Opera Mobile 12.00、FireFox Mobile 10、iOS 5.0&5.1、Blackberry OS 7、Android 4.0等。
2.4 利用HTML5開發(fā)移動(dòng)Web App的實(shí)現(xiàn)方案
針對Android平臺(tái)探討兩種實(shí)現(xiàn)方案[4]:
(1)擴(kuò)展Web View組件。在Android操作系統(tǒng)中,Web View對象對Web App開發(fā)接口進(jìn)行了封裝,但其提供給上層Web App的API能力有限,所以需要對其進(jìn)行進(jìn)一步的擴(kuò)展。當(dāng)前一些移動(dòng)中間件,如PhoneGap已經(jīng)對Web View組件的一些基本功能做了擴(kuò)展。如需進(jìn)一步擴(kuò)展,通常有兩種方法,一是可以參考PhoneGap的擴(kuò)展插件形式進(jìn)行插件式的功能擴(kuò)展;二是直接在PhoneGap上進(jìn)行擴(kuò)展,以擴(kuò)展Web View組件的功能。
(2)擴(kuò)展Webkit。內(nèi)置在Android操作系統(tǒng)中的Web引擎是基于開源內(nèi)核Webkit開發(fā)的,Webkit內(nèi)核包括Web Core排版引擎和JavaScript Core引擎,并且還在不斷地按照HTML5標(biāo)準(zhǔn)進(jìn)行增量開發(fā)。由于Web View的局限性,需對開源Webkit內(nèi)核進(jìn)行擴(kuò)展以便利用HTML5技術(shù)開發(fā)移動(dòng)Web App。
3 結(jié)束語
當(dāng)前移動(dòng)互聯(lián)網(wǎng)的最新趨勢就是HTML5所引發(fā)的技術(shù)變革,由于HTML5具備良好的用戶體驗(yàn)、結(jié)構(gòu)化的語義標(biāo)簽、豐富的多媒體內(nèi)容、有效的離線存儲(chǔ)、并發(fā)處理的多線程、優(yōu)異的跨平臺(tái)和跨終端等特性,因此下一代移動(dòng)互聯(lián)網(wǎng)應(yīng)用的主流必將是使用HTML5技術(shù)開發(fā)的移動(dòng)Web App。
參考文獻(xiàn):
[1]李慧云,何震葦,李麗等.HTML5技術(shù)與應(yīng)用模式研究[J].電信科學(xué),2012(05):24-29.
[2]馬新強(qiáng),孫兆,袁哲等.Web標(biāo)準(zhǔn)與HTML5核心技術(shù)研究[J].重慶文理學(xué)院學(xué)報(bào),2010(06).
[3]蔣宇捷.從HTML5移動(dòng)應(yīng)用現(xiàn)狀談發(fā)展趨勢[J].程序員,2013(05):88-91.
[4]陸剛,區(qū)洪輝,梁柏青,李榮榮.面向移動(dòng)終端的HTML5應(yīng)用運(yùn)行環(huán)境研究[J].電信科學(xué),2013(05):40-44.
作者簡介:于洋(1976.01-),女,山東章丘人,教師,講師,碩士研究生,研究方向:Web應(yīng)用開發(fā)、網(wǎng)站制作。
作者單位:遼寧省交通高等??茖W(xué)校,沈陽 110122