由于最近公司的項目要求用Cordova來進行開發,便開始了對Cordova的學習。由于本人之前也是做iOS開發,因此相關內容主要從iOS平臺的角度來寫。剛開始學習Cordova這個平臺,希望以此總結所學并給需要的人提供一些參考,如有不當的地方敬請指正。
關于App到底是Native還是Web或者Hybrid的討論很多,而Cordova就是這樣一套為Web開發人員提供進行快速移動應用開發的框架。其前身為Adobe的PhoneGap框架,后貢獻給Apache社區成為了一個開源項目。Cordova既可使熟悉Web開發的技術人員很容易的開發移動應用,也可以讓原來的原生移動應用開發者集成Web頁面,并通過plugin(插件)實現設備底層資源與js的互操作,是較理想的Hybrid或Web App的解決方案,可實現App的低成本和快速開發。
安裝Xcode:
這個不用多說了,直接在AppStore下載最新版安裝即可。
安裝Node.js :
主要是需要用來下載和安裝Cordova,需要注意:不要下載最新的4.x.x版,可能會由于版本太新無法安裝cordova,下面的版本已經證實可用。
下載后直接運行安裝文件pkg,一直“繼續”直至安裝成功。
在終端運行npm -v出現版本號即說明成功。
然后就可以安裝Cordova了。
安裝Cordova CLI:
注:本文編寫時最新為5.3.3版
更新Cordova:
sudo npm update cordova -g
如果下載失敗的話,需要用以下的方式引用國內鏡像站:
npm config set registry http://registry.cnpmjs.org npm info cordova npm --registry http://registry.cnpmjs.org info cordova
安裝成功畫面:
或輸入:
顯示版本號即證明安裝成功。
基于iOS平臺的環境還是相對比較容易的,完成以上步驟后環境搭建結束。
打開終端,cd到相應的路徑下,輸入:
$cd ~/Documents $cordova create hello com.example.hello HelloWorld
加-d可以顯示工程的創建的詳細情況。
第一個參數hello為工程的文件夾名;
第二個參數(可選)com.example.hello為應用程序的id名,與Xcode中類似,可以在config.
xml中修改,如果不指定的話默認為io.cordova.hellocordova;
第三個參數(可選)HelloWorld為App顯示的名稱,也可在config.xml中修改。
創建成功后可以打開hello目錄查看以下結構:
|--conig.xml //cordova的配置文件
|--hooks/ //存放自定義cordova命令的腳本文件。
||--README.md
|--platforms/ //各個平臺原生工程代碼,會在build時被覆蓋勿修改
|--plugins/ //插件目錄(主要是提供各個平臺的原生API)
|--www/ //用H5編寫的源代碼目錄,build時會被放入各個平臺的assets/www目錄。
||--img/
||--index.html //App入口html文件
||--js/
在終端中輸入:
進入工程目錄:
添加iOS平臺文件:
$cordova platform add ios
也可添加其他平臺,如:
$cordova platform add android
Adding ios
PRoject...
iOS project created with
[email protected]Discovered plugin "cordova-plugin-whitelist" in config.xml. Installing to the project
Fetching plugin "cordova-plugin-whitelist@1" via npm
Installing "cordova-plugin-whitelist" for ios
見到以上內容為執行成功。
完成后可以看到platforms文件夾下面增加了以下路徑:
|--platforms
|--platforms.json
||--ios/
|||--cordova/
|||--CordovaLib/
|||--HelloWorld/
|||--platform_www/
|||--www/
|||--HelloWorld.xcodeproj
可直接打開HelloWorld.xcodeproj工程在Xcode中進行編譯和運行,如圖:
運行結果:
參考資料: