使用phonegap開發APP的優劣在此不必細說,快速,簡單,跨平臺,以及隨著iOS,Android本身對webview優化所帶來的不錯的效能,便是其獨有的優勢。而且私以為在目前激烈而又變化快速的移動APP市場環境下,用phonegap來開發APP未嘗不是一種低成本mvp的方案,快速釋出,成王敗寇^-^

為什麼選用ionic

其中ionicframework便是phonegap開發hybrid APP技術中的一員新秀,甚至可以說是一員虎將,而且免費且開源。

Ionic的優勢非常顯著:

  • 效能優異
  • 漂亮的UI
  • 強大的命令列(基於更熱門的nodejs)
  • 開發團隊非常活躍,
  • ngcordova,將主流的Cordova API或者Cordova外掛封裝為AngularJS擴充套件,使用非常方便。
  • 開源免費的webfont icon庫ionicons,基本滿足你icon需求。
  • 最後便是至關重要的,異常活躍的線上社群。

安裝使用

官網的使用教程完全足夠。

  • $ npm install -g cordova ionic
  • $ ionic start myApp tabs
  • $ cd myApp
  • $ ionic platform add ios
  • $ ionic build ios
  • $ ionic emulate ios

以及私人推薦的電腦瀏覽器除錯命令:$ ionic searve

相關外掛擴充套件推薦

  • SQLite外掛,如果你的APP需要持久儲存使用者資料,強烈推薦你使用SQLite來儲存資料(localstorage中資料很容易被系統,或者一些坑爹系統清理軟體刪除) - Hipo所使用的brodysoft的Cordova-SQLitePlugin,以及整合到ionic中的程式碼示例
  • 上述提高的ngcordova所提供的SQLite外掛(才發現,兩者背後的都是同樣的Cordova外掛,只是整合方式不一樣,那邊推薦後者)
  • 鍵盤外掛:$cordovaKeyboard,開發過hybrid APP都知道,使用表單時鍵盤的彈起/關閉中會引來很多問題,Ionic之前的方案都是js實現,效果實難恭維,上述外掛以原生程式碼的方式來優化這個問題,親測效果很好,也強烈推薦你使用這個外掛。
  • 啟動圖片(或稱閃屏)外掛:$cordovaSplashscreen,之所以推薦也必裝這個外掛的原因是,預設情況下啟動圖片時間停留較短,如果你的APP在這段時間沒有完成資料載入或者檢視渲染等(需要查詢SQLite資料庫,或者更甚者請求伺服器)就需要自定義啟動圖片的關閉,那麼就需要安裝這個外掛,否則就又會在啟動時候有螢幕閃動的影響體驗的問題。 - 需要提示的是,安裝外掛後,在啟動圖片未關閉時候,預設菊花轉在螢幕中間,如果你要自定義,可以更改外掛中的原生程式碼,以iOS為例,將其改到螢幕底部:更改/src/ios/CDVSplashScreen.m_activityView.center = CGPointMake(parentView.bounds.size.width / 2, parentView.bounds.size.height / 2 );這行為:_activityView.center = CGPointMake(parentView.bounds.size.width / 2, parentView.bounds.size.height - 80 );
  • 值得注意的iOS8中的TouchID也可以在hybrid APP中使用了,$cordovaTouchID

上述推薦僅僅是自己在開發過程中的一點經驗之談,還是建議需得根據自己APP實際情況選用自己需要的外掛。