移動技術的發展對於開發人員來說是個悲劇,開發應用需顧及到不同平台的架構和開發語言,如iPhone、Android、Windows Mobile等。
PhoneGap基於標準的Web技術,在Web應用和裝置之間搭建一個通訊的橋樑,封裝行動裝置的平台差異,統一使用JavaScript介面訪問裝置本地API,提供跨平台解決方案。
PhoneGap是一個標準的開源架構,用PhoneGap開發行動裝置 App是免費的,無論是商業或是開源。
PhoneGap能做什麼?
1、基於Web技術開發行動裝置用戶端應用
用您熟悉的JavaScript、HTML技術,或者結合移動Web UI架構jQuery Mobile、Sencha Touch 開發跨平台移動用戶端。
2、用PhoneGap訪問裝置本地API
提供跨平台裝置訪問能力,以下列出訪問裝置部分功能,本系列專題在以後文章中詳解使用方法。
ACCELEROMETER(重力感應)
CAMERA(攝像機)
COMPASS(指南針)
CONTACTS(通訊錄)
FILE(檔案)
GEOLOCATION(地理定位)
MEDIA(媒體)
NETWORK(網路)
NOTIFICATION (通知)
STORAGE(Sqlite資料庫儲存)
3、發布您的程式到不同移動平台
Phongap Build 提供線上打包Web應用到各移動平台用戶端的能力,下一篇文章執行個體介紹將本社區開源項目Sencha Touch 2 DEMO打包成Android平台APK檔案的方法。是PhoneGap Build線上打包完成,並且提供下載的介面:
PhoneGap如何工作?
PhoneGap架構擁有強大的跨平台訪問裝置能力,但是其工作原理並不神秘,下面以iPhone和Android平台為例進行分析。
iPhone和Android平台共同點是都有內建的WebView組件,其具備兩個特性:
1、WebView組件實質是行動裝置的內建瀏覽器
WebView這個內建瀏覽器特性是Web能被打包成本地用戶端的基礎,可方便的用HTML5、CSS3頁面配置,這是移動Web技術的優勢相對於原生開發。
2、WebView提供Web和裝置本地API雙向通訊的能力
PhoneGap針對不同平台的WebView做了擴充和封裝,使WebView這個組件變成可訪問裝置本地API的強大瀏覽器,所以開發人員在PhoneGap架構下可通過JavaScript訪問裝置本地API。
明白以上兩個特性,參照下面PhoneGap與裝置本地API通訊圖,一個成熟的PhoneGap技術用戶端健全狀態如下:
應用運行在WebView組件上 —》 通過PhoneGap在各平台的擴充 —》 最終訪問裝置本地資源
原文連結:http://www.html5mobi.com/discussion/164/phonegap