上回我們已經將Cordova的環境建立起來,也介紹了平台的管理(cordova platform …)使用指令建立APP專案(cordova create …)及建構和模擬(cordova build / emulate),那麼接下來我們將繼續介紹更多關於Cordova的細節,邁向APP發佈的終極目標。
建立好一個Cordova的專案時,可以看見以下幾個資料夾:
Hooks資料夾,指定在Cordova特定行為前後運行個人化腳本,對於新手來說通常還不會使用到,如有需求可至Cordova的Hooks Guide(https://cordova.apache.org/docs/en/dev/guide/appdev/hooks/)進行研究。
Plugins資料夾,先前有介紹到了,Cordova的背後主要只有JavaScript,而你想要深入各平台運行你的APP就必須回到相對的原生語言,而這個部分你也可以選擇發揮程式專長自行撰寫各平台的專屬套件,不過剛開始我們可以選擇現有的套件來使用,在Cordova的網站就有提供套件的選擇(https://cordova.apache.org/plugins/);或是在Plugreg搜尋套件,如果這些地方都找不到符合需求的解決方案,還是可以透過搜尋引擎找到不少其它選擇。什麼時候使用套件?以PowerCloud為例,從Oauth的社群登入到檔案管理,不論是在裝置端的檔案讀寫,還是開啟相機來拍照或檔案上傳與分享,還有開發人員很重要的一項Console Log,熟悉套件的運用後,大致上後續的開發就已經沒有太大的問題了!
www資料夾,基本上就是整個APP所使用到的網頁檔案都在這裡,當然你可以混合其他的框架或工具來使用,一般大眾使用的大概就是jQuery Mobile搭配jQuery,或是Ionic搭配AngularJS;另外在開發環境上,如果是在Windows的作業系統底下,Visual Studio也是一個選項,可以省去冗長的環境安裝及後續的指令下達,不過並不推薦新手使用,因為會比較無法直接了解Cordova的運作,也少了整個學習的入門課程。
Platforms資料夾,各平台檔案會放在這個目錄,可以使用Device套件的platform自行使用程式碼判斷,在JavaScript針對平台進行調整;另外則是build過後可以運用原生環境不會動到專案原始碼的特色來進行測試及小修改。另外可以特別注意的是,在不同平台的差異運用小秘訣,可以在根目錄新增merges資料夾,將不同平台的網頁檔案放置merges底下的各平台原生資料夾(android,iOS…等)下,將會在建構過程中的準備階段判斷是否取用該平台的檔案進行建構,達到不同平台的運行效果
接著來到設定檔的部分,在專案的根目錄下可以看到config.xml,可以將APP的辨識碼(ID),版本號,及各種設定在此增修,就連APP的門面-icon也在這邊給予路徑告知,另外換頁的splash也是在platform的標籤底下加入。
簡單的介紹及提供一個範例如下:
整個設定檔都在widget標籤底下,而id及專案版本號(version)的修改則為widget的屬性,如<widget id=”com.example.id” version=”1.0”>,針對各平台的版本號屬性如下:android-versionCode,ios-CFBundleVersion,windows-packageVersion;icon及splash則在<platform name=”(android/ios…等)”>底下增加個別的標籤<icon … />或<splash … />,在src屬性給予圖檔路徑,及寬、高或解析度的數值。
當以上都到了一個階段後,便可回到原生環境(Android Studio / Xcode)進行建構及釋出,Android將釋出的apk檔透過Google Play後台進行上傳審核;iOS則是使用iTunes Connect搭配Xcode的發佈或Application Loader進行上傳審核。