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