PhoneGap工作原理及需改進(jìn)的地方
PhoneGap是目前最被看好的:
- 兼容性:完全做到了Written Once,Run Everywhere!
- 標(biāo)準(zhǔn)化:PhoneGap采用W3C標(biāo)準(zhǔn),Web App直接運行!
- 采用普通web開發(fā)技術(shù):JavaScript+HTM5+CSS3。
但是這并不代表PhoneGap是完美的,本文完美將介紹Phone的不足及工作原理
一、PhoneGap如何工作?
PhoneGap架構(gòu)擁有強(qiáng)大的跨平臺訪問設(shè)備能力,但是其工作原理并不神秘,iPhone和Android平臺共同點是都有內(nèi)置的WebView組件,其具備兩個特性:
WebView組件實質(zhì)是移動設(shè)備的內(nèi)置瀏覽器
WebView這個內(nèi)置瀏覽器特性是Web能被打包成本地客戶端的基礎(chǔ),可方便的用HTML5、CSS3頁面布局,這是移動Web技術(shù)的優(yōu)勢相對于原生開發(fā)。
WebView提供Web和設(shè)備本地API雙向通信的能力
PhoneGap針對不同平臺的WebView做了擴(kuò)展和封裝,使WebView這個組件變成可訪問設(shè)備本地API的強(qiáng)大瀏覽器,所以開發(fā)人員在PhoneGap框架下可通過JavaScript訪問設(shè)備本地API。

PhoneGap與設(shè)備本地API通信圖
一個成熟的PhoneGap技術(shù)客戶端運行狀況:應(yīng)用運行在WebView組件上 -> 通過PhoneGap在各平臺的擴(kuò)展 -> 最終訪問設(shè)備本地資源。

PhoneGap架構(gòu)圖
二、存在不足:
- 性能,正常操作速度流暢,頻繁操作響應(yīng)會變慢。
- 穩(wěn)定性及資源占用方面,手動頻繁操作會引起,響應(yīng)速度變慢,webkit的WebView不能很好釋放內(nèi)存,導(dǎo)致內(nèi)存占用上升,甚至?xí)饝?yīng)用的crash。
總結(jié):
最后告訴各位讀者PhoneGap + 合適的javascript開發(fā)框架,輕松開發(fā)出原生風(fēng)格的移動應(yīng)用。選擇哪種js框架,你可以通過:《三大移動Web開發(fā)框比較分析》一文,選擇適合的框架。