在介紹Cordova以前,必須先提一下PhoneGap。PhoneGap 是Nitobi軟件公司2008年推出的一個框架,旨在彌補web 和iOS 之間的不足,使得web 和 iPhone SDK 之間的交互更容易。後來又加入了Android SDK 和BlackBerry SDK,再而後又陸續加入了更多的平臺。 可是在2011年,Nitobi公司被Adobe收購,PhoneGap也被提交到Apache Incubator。因爲Adobe如今擁有PhoneGap商標,PhoneGap v2.0版產品就改名爲Apache Cordova。 聽說Cordova是Nitobi團隊當時坐落的街道名稱,用此名來記念Nitobi團隊的貢獻。Apache Cordova是從PhoneGap中抽出的核心代碼,是驅動PhoneGap的核心引擎。html
從下面這幅圖能夠看出Cordova工程的結構,以及與Native API 以前的關係。 node
官網中也把Cordova 的使用劃分了一些步驟。按照這五個步驟,能夠很容易的建立一個Cordova Demo 工程起來,可是實際的使用要比這個Demo 工程複雜的多。android
Cordova 命令行須要運行在 Node.js 上,在 NPM 也可用。咱們能夠按照 platform specific guides 去安裝別的依賴平臺。所以,在安裝Cordova以前,要先安裝Node.js 和 NPM(能夠參考文章Mac 下安裝Node.js)。打開命令行提示符(Windows 下) 或者 終端 (Mac 下),而後輸入 npm install -g cordova
便可安裝Cordova。ios
若是安裝失敗,看到下面的錯誤提示信息,說明咱們要用管理員身份安裝。web
以管理員身份安裝Cordova的命令:apache
sudo npm install -g cordova
複製代碼
安裝過程可能比較慢,安裝成功後,能夠看到相似以下的目錄結構,而且沒有錯誤信息:npm
用命令行工具建立一個空的Cordova工程。首先跳轉到 你但願保存新工程的文件夾(命令是 cd 文件夾路徑
),而後輸入命令 cordova create 工程名
。 固然,咱們也能夠直接 輸入命令 cordova create 文件夾路徑/工程名
,在某個文件夾下直接建立工程。 查看更多的建立工程命令,能夠輸入命令 cordova help create
。ubuntu
我在終端中輸入以下命令:瀏覽器
cordova create /Users/harvey/Desktop/Other/MyApp
複製代碼
而後在Other 文件夾中就建立了一個叫MyApp的文件夾: 目錄結構以下:bash
建立完Cordova 工程以後,跳轉到工程文件夾(命令是 cd 文件夾路徑
)。 我這裏使用的命令是:
cd /Users/harvey/Desktop/Other/MyApp
複製代碼
而後在這個文件夾中,咱們須要添加一個 App 須要支持的平臺。 添加一個平臺,須要輸入命令:
cordova platform add <platform name>
複製代碼
例如咱們須要支持瀏覽器,那麼就輸入:
cordova platform add browser
複製代碼
若是咱們須要支持iOS,那麼就輸入:
cordova platform add ios
複製代碼
注意ios 要小寫。
查看Cordova能夠支持的平臺,能夠輸入 :
cordova platform
複製代碼
我輸入cordova platform
以後,終端顯示的結果:
HarveydeMac-mini:MyApp harvey$ cordova platform
Installed platforms:
browser 4.1.0
ios 4.2.1
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
android ~5.2.0
blackberry10 ~3.8.0
firefoxos ~3.6.3
osx ~4.0.1
webos ~3.7.0
複製代碼
Installed platforms
是我已經安裝過的平臺,Available platforms
是還能夠安裝的平臺。
使用命令行工具,運行App的命令是:
cordova run <platform name>
複製代碼
例如,我想在瀏覽器中運行 App,我就在終端裏輸入:
cordova run browser
複製代碼
而後,就會打開瀏覽器,就會運行App。下面是個人命令和運行效果圖:
固然,若是咱們想要在iOS 上運行 App,咱們也能夠輸入:
cordova run ios
複製代碼
也能夠到指定目錄下打開iOS 工程文件
查看更多的關於運行App 的命令,能夠輸入 cordova help run
。