萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> Html5 >> HTML5漫談(4)--HTML5應用平台:PhoneGAP

HTML5漫談(4)--HTML5應用平台:PhoneGAP

1、PhoneGAP是什麼?

PhoneGAP(http://phonegap.com)按官方說法,是HTML5移動應用平台,它包括兩部分:

1)       應用開發框架:采用Web/HTML5技術編寫應用,支持設備能力(如GPS、重力感應等)調用;支持能力插件靈活擴展。

 

圖1 PhoneGAP支持設備能力API列表

2)       手機應用創建工具:將遵循PhoneGAP應用框架編寫的程序轉換/封裝生成各平台支持的手機應用。

圖2 進去的是網頁,出來的是本地應用

 

2、PhoneGAP有什麼用?

1)有了PhoneGAP,用HTML5技術也能開發出傳統意義上的手機本地應用,同時可以通過Javascript調用攝像頭、位置信息等設備能力。

2)有了PhoneGAP,用HTML5寫好程序後就能生成多個手機平台版本的本地應用,目前支持7個平台:Android、iOS、WindowsPhone、HP WebOS、BlackBerry、 Symbian、Bada。

簡單地說,PhoneGAP讓Web程序員無需重新學習,即可開發手機應用;實現了Web應用本地化;大大降低開發成本。

 

3、PhoneGAP基本技術原理:

基於PhoneGap應用框架實現的手機應用相當於展示某個網頁應用的特別浏覽器。PhoneGAP將Web程序打包成系統支持的手機應用格式(方便應用的分發、使用),通過調用系統的浏覽器功能實現應用的運行及交互操作。

 

1)               開發語言選擇:Web/HTML5幾乎是各手機智能平台唯一共同支持的開發技術。因此,PhoneGAP采用HTML5技術作為程序開發語言。這也是同一套應用程序能在多個平台運行的技術基礎。

2)               應用呈現:各個智能平台都具備並開放了浏覽器功能,因此,PhoneGAP通過調用WebView(浏覽視圖,具有浏覽器基本功能的組件)實現應用UI的呈現及業務邏輯處理。

3)               JS API擴展:PhoneGAP針對不同平台的WebView做了擴展和封裝,使得應用可以通過Javascript訪問各種本地設備API。

4)               插件擴展:實現了一套靈活的插件擴展框架,允許開發者自行擴展能力插件。

 

需要特別說明的是:在SYMBIAN平台 上,PhoneGAP並非把Web應用打包成本地應用(SIS),而是打包成Widget應用(wgz)(相當於把若干網頁打包成一個文件),因為S60 v5、Symbian3大多手機支持WRT(Web RunTime)Widget格式。這樣做,非常簡單,而且還避免了比較麻煩的SYMBIAN簽名問題。

圖3 設備能力調用原理示意

 

4、關於PhoneGAP 

PhoneGAP是Nitobi公司的產品,該公司位於加拿大溫哥華。

2011年10月,Adobe收購了Nitobi公司,並把PhoneGAP項目捐給Apache基金會(ASF)。PhoneGAP免費並且開源(遵循Apache 2.0 License)。

PhoneGAP在Apache裡的項目名稱叫Cordova(原來叫Callback):(網站/源碼:http://incubator.apache.org/projects/callback.html)

目前基於PhoneGAP開發應用有幾千款,應用列表:http://phonegap.com/apps 

5、PhoneGAP的未來

盡管PhoneGAP在應用的性能、應用支持的功能以及應用的用戶體驗等方面還有很大的提升空間,
但它的出現無疑將有助於HTML5應用的發展。

在我看來,PhoneGAP最大的價值是:它顛覆HTML5應用的分發方式,改變HTML5應用的商業模式,並加速HTML5應用的發展進程。

它帶來的精彩或許剛剛開始,讓我們拭目以待。

copyright © 萬盛學電腦網 all rights reserved