最近公司想用PhoneGap做跨平臺,所以對這塊做了一下研究學習.
PhoneGap
PhoneGap是一個用基于HTML,CSS和JavaScript的,創建移動跨平臺移動應用程序的快速開發平臺。它使開發者能夠利用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手機的核心功能——包括地理定位,加速器,聯系人,聲音和振動等,此外PhoneGap擁有豐富的插件,可以調用。
業界很多主流的移動開發框架均源于PhoneGap。較著名的有Worklight、appMobi、WeX5等;其中WeX5為國內打造,完全Apache開源,在融合Phonegap的基礎上,做了深度優化,具備接近Native app的性能,同時開發便捷性也較好。
Phonegap是一款開源的開發框架,旨在讓開發者使用HTML、Javascript、CSS等Web APIs開發跨平臺的移動應用程序。原本由Nitobi公司開發,現在由Adobe擁有。
它需要特定平臺提供的附加軟件,例如iPhone的IOSSDK,Android的Android SDK等,也可以和DW5.5及以上版本配套開發。使用PhoneGap只比為每個平臺分別建立應用程序好一點點,因為雖然基本代碼是一樣的,但是你仍然需要為每個平臺分別編譯應用程序。
PhoneGap在多個主要的智能手機設備上提供了以下功能的支持:
加速計
攝像頭
羅盤
通訊錄
文檔
地理定位
媒體
網絡
通知(警告、聲音和振動)
存儲
如果正在為iPhone或Android設備做開發,那么這些功能都是支持的。如果是為BlackBerry、webOS、Windows
Phone 7、Symbian或Bada設備做開發,則有些功能就不支持了(例如,在Windows Phone
7上,就不支持攝像頭、羅盤或存儲功能。老版的BlackBerry型號支持地理定位、通知以及網絡的可達性,但僅此而已)。
當然目前PhoneGap缺陷還是蠻多的,比如運行速度慢,UI反應延時——這是個致命傷。不過嘛,這種問題是會隨著技術的進步而消失的。對此問題,國內已有WeX5開源框架專門對PhoneGap做了進一步深度優化,基于WeX5框架開發出來的App體驗已經接近原生。它的優勢是無與倫比的:開發成本低——筆者個人估計,至多是Native
App的五分之一吧。偉大的政論家托馬斯·約瑟夫·登寧,資本主義為了100%的利潤,它就敢踐踏一切人間法律??缙脚_的流行是不可避免的。當然,Native
App永遠會有一席之地,比如高端游戲.
PhoneGap與Cordova聯系
Cordova是PhoneGap貢獻給Apache后的開源項目,是從PhoneGap中抽離出的核心代碼,是驅動PhoneGap的核心引擎。有點類似Webkit和GoogleChrome的關系。淵源就是:早在2011年10月,Adobe收購了NitobiSoftware和它的PhoneGap產品,然后宣布這個移動Web開發框架將會繼續開源,并把它提交到ApacheIncubator,以便完全接受ASF的管治。當然,由于Adobe擁有了PhoneGap商標,所以開源組織的這個PhoneGapv2.0版產品就更名為Apache Cordova。(目前Adobe PhoneGap <===>ApacheCordova,似乎只是包名不一樣而已,未來會有多大變化與改變,拭目以待吧?。。?/p>
大體了解下PhoneGap后,下面進入正題
Cordova安裝
1. cordova的安裝:
1.1 安裝cordova需要先安裝node.js?。
1.2 如果你沒有安裝git client?,需要下載并安裝一個git客戶端。
1.3 使用node.js的依賴包管理工具npm來進行cordova安裝。
打開終端輸入如下命令:
sudo npm install-g cordova
如果你覺得很慢的話 推薦使用淘寶NPM鏡像
使用cnpm(gzip 壓縮支持) 命令行工具代替默認的npm:
$ npm install-g cnpm--registry=https://registry.npm.taobao.org
筆者根據官方命令安裝失敗,然后改為如下命令
$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
然后成功
用淘寶鏡像安裝需要在終端使用以下命令行
$ sudo cnpm install -g cordova
安裝成功
創建項目
2.1新建一個cordova的項目
打開終端輸入如下命令,該命令可能需要一些時間來完成:
cordovacreatehellocom.example.helloHelloWorld[--template templatePath]
2.2 添加平臺
所有后續命令需要在項目的目錄中運行,其范圍內或任何子目錄:
cd hello
在構建項目之前,您需要指定一組目標平臺。你能夠運行這些命令取決于您的機器是否支持每一個SDK,和你是否已經安裝SDK。從Mac運行這些:
cordova platform add ios
cordova項目運行
3.1? cordova默認使用的 index.html 文件說明
根據自己設置的路徑,找到項目
運行效果如下
好了,下面就可以用cordova
開發你的程序了.