主流的Hybrid App
如今有兩種方案:html
PhoneGap
爲表明,使用HTML
頁面進行構建的App
Titanium
爲表明,經過NodeJS
驅動編譯Native
層的代碼,從而產生近似於Native
的效果關於Titanium
,在另一篇文章裏作嘗試,今天紀錄的是PhoneGap
開發的環境搭建java
對於使用native
和hybrid
的哪個能更好的開發,常常會有爭執。不談爭執,只說爲何要選擇hybrid
node
Hybrid
進行快速開發快速試錯,甚至能夠在其中採用ABTesting
驗證哪種設計更好,當版本逐漸穩定,從Hybrid
過分到Native
能夠說是如今最好的開發模式Hybrid
的增量更新功能,甚至有些活動頁面能夠直接訪問線上站點,提升更新的效率,繞開了某些store
的審覈機制build
優化了開發的效率因此選型上就直接選擇了hybrid
畢竟開發人員少的狀況下這是最好的方案,比較了國內的AppCan
沒有猶豫的選擇了PhoneGap
,後者開發的時間長,文檔和各類輔助工具齊全。android
PhoneGap
號稱已經免費了,可是考慮到它有收費的不良記錄仍是採用了它的開源版本cordova,cordova
是基於 apache
協議進行開發的。ios
在開發過程當中採用了基於nodejs
的The Command-Line Interface
git
nodejs
安裝coordova
模塊angularjs
sudo npm install -g cordova
這個安裝過程須要花費很長的時間,推薦採用淘寶的npm鏡像github
android
開發環境而且配置環境變量,在Terminal
裏面輸入android
看看有沒有android
的版本管理器出來就說明配置有沒有作好,關於如何配置環境變量搜素一下,mac
推薦看這裏 ant
,cordova
採用ant
來作的持續集成,須要配置ant
環境,搜素一下,mac
的看這裏 建立HelloWorld
執行命令web
cordova create hello com.example.hello HelloWorld
這個過程異常的艱難,但願你有個好網絡macos
配置開發平臺,進入hello
目錄,執行
cordova platform add android
編譯
cordova build
安裝,很是不喜歡虛擬機,因此直接插上android
運行
cordova run android
若是但願啓動虛擬機
cordova emulate android
而後一個很傻的,沒有什麼功能的應用就裝在手機上了
進一步開發,用Android Studio
導入工程,在\hello\www
目錄下就是html
開發內容,hybrid
的開發就在這裏作
在這個階段中對環境變量的修改
export PATH="$PATH:/Users/xxx/android-sdk-macosx/platform-tools" export PATH="$PATH:/Users/xxx/android-sdk-macosx/tools" export PATH="$PATH:/Users/xxx/android-sdk-macosx" export PATH="$PATH:/Users/xxx/apache-ant-1.9.4/bin" export JAVA_HOME=`/usr/libexec/java_home`
mobile web ui
的選型,列舉一下如今流行的一些ui
庫做爲選型的標的
famo
與angularjs
進行了深度的整合,可是考慮到ionic
對cordova
的封裝,準備用ionic
安裝ionic cli
$ npm install -g cordova ionic
建立項目
$ ionic start myApp tabs
這個步驟很是的耗費時間,網絡啊網絡
➜ Project ionic start bee-app tabs Creating Ionic app in folder /Users/xxx/myApp based on tabs project The directory /Users/xxx/myApp already exists. Would you like to overwrite the directory with this new project? (yes/no): yes Downloading: https://github.com/driftyco/ionic-app-base/archive/master.zip [=============================] 100% 0.0s Downloading: https://github.com/driftyco/ionic-starter-tabs/archive/master.zip [=============================] 100% 0.0s Update config.xml Initializing cordova project Fetching plugin "org.apache.cordova.device" via plugin registry Fetching plugin "org.apache.cordova.console" via plugin registry Fetching plugin "com.ionic.keyboard" via plugin registry Your Ionic project is ready to go! Some quick tips: * cd into your project: $ cd myApp * Setup this project to use Sass: ionic setup sass * Develop in the browser with live reload: ionic serve * Add a platform (ios or Android): ionic platform add ios [android] Note: iOS development requires OS X currently See the Android Platform Guide for full Android installation instructions: https://cordova.apache.org/docs/en/edge/guide_platforms_android_index.md.html * Build your app: ionic build <PLATFORM> * Simulate your app: ionic emulate <PLATFORM> * Run your app on a device: ionic run <PLATFORM> * Package an app using Ionic package service: ionic package <MODE> <PLATFORM> For more help use ionic --help or visit the Ionic docs: http://ionicframework.com/docs +---------------------------------------------------------+ + New Ionic Updates for February 2015 + + The View App just landed. Preview your apps on any device + http://view.ionic.io + + Add ngCordova to your project for easy device API access + bower install ngCordova + + Generate splash screens and icons with ionic resource + http://ionicframework.com/blog/automating-icons-and-splash-screens/ + +---------------------------------------------------------+ Create an ionic.io account to use the Ionic View app and other features? (Y/n): Y
註冊ionic
在ionic start
的最後詢問是否Create an ionic.io account to use the Ionic View app and other features?
,選擇Y
,進行賬號註冊
更新項目
$ ionic login $ ionic upload
運行項目
$ cd myApp $ ionic platform add android $ ionic build android $ ionic run android