|
關(guān)于HTML5
HTML5具有語(yǔ)義學(xué)、
本地存儲(chǔ)、
設(shè)備訪問(wèn)、
連接性、
多媒體、
平面和三維效果、
性能和集成和
CSS3八大技術(shù)特征。讓W(xué)eb應(yīng)用進(jìn)入無(wú)插件時(shí)代,在功能和性能上逼近桌面應(yīng)用。促使應(yīng)用Web化,實(shí)現(xiàn)跨平臺(tái)。
HTML5規(guī)范草案將于2012年發(fā)布候選推薦版,2022年發(fā)布計(jì)劃推薦版。規(guī)范的實(shí)現(xiàn)似乎還在遙遠(yuǎn)的未來(lái),其實(shí)不然!當(dāng)前很多瀏覽器已經(jīng)部分支持HTML5,caniuse.com提供了詳盡的瀏覽器支持情況。HTML5規(guī)范本身并不多,很多相關(guān)規(guī)范都被獨(dú)立出來(lái),由瀏覽器各自實(shí)現(xiàn)。?
手機(jī)上網(wǎng)已經(jīng)成為最重要的上網(wǎng)方式之一,手機(jī)網(wǎng)民已達(dá)3億。移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)開(kāi)啟,發(fā)展勢(shì)頭迅猛,成為互聯(lián)網(wǎng)行業(yè)的新戰(zhàn)場(chǎng)。
Android和ios手機(jī)的興起,加速了HTML5在移動(dòng)設(shè)備的普及。與桌面瀏覽器不同的是,移動(dòng)操作系統(tǒng)和瀏覽器隨著手機(jī)的換代而不斷升級(jí)。移動(dòng)瀏覽器的不斷升級(jí),給HTML5在移動(dòng)Web方向的發(fā)展提供源源不斷的動(dòng)力。也隨著設(shè)備性能的不斷提高,移動(dòng)Web應(yīng)用的能力也漸漸逼近客戶(hù)端應(yīng)用。
移動(dòng)Web應(yīng)用對(duì)比客戶(hù)端應(yīng)用的優(yōu)勢(shì):
- 更多開(kāi)發(fā)人員有豐富的Web開(kāi)發(fā)經(jīng)驗(yàn)和工具積累,也形成了成熟的開(kāi)發(fā)社區(qū)
- 迭代更敏捷,實(shí)現(xiàn)持續(xù)更新
- 跨平臺(tái),開(kāi)發(fā)成本比客戶(hù)端的較低
Web應(yīng)用宿主選擇
Web都有宿主,宿主是運(yùn)行程序所需要的環(huán)境。Web常見(jiàn)的宿主有IE、FF、Chrome這些瀏覽器。Javascript也運(yùn)行在服務(wù)器端宿主,如node.js。在移動(dòng)設(shè)備,移動(dòng)Web可以運(yùn)行在移動(dòng)瀏覽器上,也可以運(yùn)行在PhoneGap或Titanium等框架宿主上。當(dāng)然我們也可以根據(jù)跨平臺(tái)需要編寫(xiě)自己框架宿主。
框架宿主優(yōu)勢(shì):
- 已形成成熟的社區(qū),便于解決問(wèn)題
- 如PhoneGap等,比瀏覽器擁有更高權(quán)限。可以訪問(wèn)聯(lián)系人、文件、攝像頭、錄音等設(shè)備
- 可以通過(guò)模擬器進(jìn)行測(cè)試,減少跨瀏覽器測(cè)試成本
框架宿主劣勢(shì):
- 以客戶(hù)端形式發(fā)布,版本更新難度大,動(dòng)態(tài)發(fā)布需要額外代碼支持
- 系統(tǒng)有可能只支持單進(jìn)程
- 產(chǎn)品之間無(wú)法跳轉(zhuǎn),不容易銜接
PhoneGap兼容性
移動(dòng)瀏覽器是系統(tǒng)附帶的,不需要發(fā)布,隨著系統(tǒng)升級(jí)而更新。在沒(méi)有權(quán)限要求和高端目標(biāo)設(shè)備的情況下,瀏覽器宿主作為移動(dòng)Web應(yīng)用宿主更為適合。
Android瀏覽器
Mobile Safari
瀏覽器宿主優(yōu)勢(shì):
- 無(wú)需發(fā)布,瀏覽器一般還支持桌面快捷方式
- 產(chǎn)品更新維護(hù)方便,可以實(shí)現(xiàn)持續(xù)更新
- 移植性高(相對(duì)框架宿主的一些自定義接口)
瀏覽器宿主劣勢(shì):
- 瀏覽器兼容不高,對(duì)HTML5支持有差異
- 性能差異大,必須考慮設(shè)備間處理能力的差異
- 測(cè)試成本大(特別是Android系統(tǒng)設(shè)備),無(wú)法覆蓋所有機(jī)型
在HTML5的支持下,交互集成取代Javascript瀏覽器兼容性成了移動(dòng)Javascript框架的發(fā)展方向。其中jQuery Mobile和Sencha Touch最受追捧。
他們主要解決:
- 交互(包括UI設(shè)計(jì)、控件交互、頁(yè)面切換等)集成
- Touch手勢(shì)
交互集成框架優(yōu)勢(shì):
- 交互都符合設(shè)備交互特點(diǎn)和設(shè)計(jì)規(guī)范(Android和ios)
- 開(kāi)發(fā)門(mén)檻低,適合快速開(kāi)發(fā)
- 開(kāi)發(fā)社區(qū)已經(jīng)有豐富的跨平臺(tái)經(jīng)驗(yàn)和較全面的測(cè)試結(jié)果
交互集成框架劣勢(shì):
- 文件體積較大,效率往往不如原生HTML5
- 交互模式固定,難以擺脫
沒(méi)有完善的業(yè)務(wù)框架,還需要自己實(shí)現(xiàn)基礎(chǔ)業(yè)務(wù)框架(代碼更新、業(yè)務(wù)模塊重用等)
jQuery Mobile 兼容性
除了交互集成框架,我們還可以考慮使用原生HTML5開(kāi)發(fā)自己的移動(dòng)Javascript框架。自己開(kāi)發(fā)更有針對(duì)性和目的性,適合業(yè)務(wù)擴(kuò)展和性能優(yōu)化,可以彌補(bǔ)集成框架的缺陷。
原生HTML5框架優(yōu)勢(shì):
- 最適合長(zhǎng)期業(yè)務(wù)擴(kuò)展
- 開(kāi)發(fā)靈活度更高
- 可針對(duì)目標(biāo)設(shè)備的性能優(yōu)化
原生HTML5框架劣勢(shì):
- 暫時(shí)只能兼容高端設(shè)備(Android2.0+、ios3.2+性能較佳)
- 跨平臺(tái)測(cè)試成本比較高
- 框架開(kāi)發(fā)門(mén)檻比較高,需要一段時(shí)間發(fā)展
參考資料
《2010年中國(guó)手機(jī)上網(wǎng)用戶(hù)行為研究報(bào)告》
《2010-2011年中國(guó)智能手機(jī)市場(chǎng)研究年度報(bào)告》
NET技術(shù):HTML5 - 搭建移動(dòng)Web應(yīng)用,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。