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