淺談Cordova優缺點與環境部署


 

Cordova是一個用基於HTML、CSS和JavaScript的,用於創建跨平台移動應用程序的快速開發平台。它使開發者能夠利用 iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry等智能手機的核心功能——包括地理定位、加速器、聯系 人、聲音和振動等,此外Cordova擁有豐富的插件,可以調用。

優缺點

時下流行的移動Web應用可分為三種:原生應用、Web應用和混合型應用。

  • 原生應用:通過各種應用市場安裝,采用平台特定語言開發。
  • Web應用:通過瀏覽器訪問,采用Web技術開發。
  • 混合型應用:通過各種應用市場安裝,但采用Web技術開發。它雖然看上去是一個原生應用,但里面訪問的實際上是一個Web應用。

原生應用的優勢:

  1. 提供最佳的用戶體驗、最優質的用戶界面和最華麗的交互;
  2. 針對不同平台提供不同體驗;
  3. 可節省帶寬成本;
  4. 可訪問本地資源;
  5. 盈利模式明朗。

原生應用的劣勢:

  1. 移植到不同平台上比較麻煩;
  2. 維護多個版本的成本比較高;
  3. 需要通過store或market確認;
  4. 盈利需要與第三方分成。

Web應用的優勢如下:

  1. 開發成本低;
  2. 適配多種移動設備的成本低;
  3. 跨平台和終端;
  4. 迭代更新容易;
  5. 無需安裝成本。

Web應用的劣勢如下:

  1. 瀏覽體驗短期內還無法超越原生應用;
  2. 不支持離線模式(HTML5將會解決這個問題);
  3. 消息推送不夠及時;
  4. 調用本地文件系統的能力弱。

混合型應用可以說是為了彌補上面兩種應用開發模式的缺陷而生,它是兩者混合的產物,並且盡可能繼承了雙方的優勢:

首先,它可以讓眾多Web開發人員幾乎零成本地轉型成移動應用開發者。

其次,相同的代碼只需針對不同平台進行編譯就能實現在多平台的分發,大大提高了多平台開發的效率。而相較於Web應用,開發者可以通過包裝好的接口調用大部分常用的系統API。

作為本文所講的Cordova,Cordova正是混合型框架中的佼佼者,它基於標准的Web技術——HTML、JavaScript和CSS,用 JavaScript包裝平台的API供開發者調用,具備強大的編譯工具來為不同平台生成應用,同時擁有豐富的第三方資源和產業鏈。

PhoneGap在Web應用和設備之間搭建了一個通信的橋梁,封裝了移動設備的平台差異,統一使用JavaScript接口訪問設備本地API,以此提供了一個優秀的跨平台解決方案。

  1. 安裝好jdk(配置好環境變量)下載地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 安裝好Android SDK 下載地址 http://cordova.apache.org/docs/en/3.4.0/guide_platforms_index.md.html#Platform%20Guides
  3. 安裝好 Apache Ant 下載地址http://apache.fayea.com/apache-mirror/ant/binaries/
  4. 安裝好nodejs 下載地址https://nodejs.org/en
  5. 安裝好git
  6. 安裝Cordova

驗證是否安裝成功:

  1. 安裝Node.js后,命令行執行以下語句:npminstall -g cordova耐心等候直至安裝完成。
  2. Java
  3. Javac
  4. Java –version
  5. Ant –version
  6. Adb version
  7. Cordova –version

創建一個 cordova 工程:

cordova create hello com.shj.helloworld helloapp其中,第一個 hello 是文件夾的名稱;om.shj.helloworld 是app id,第二個 helloapp是工程的名稱,也是應用的名稱。
  • 進入工程文件
    cd hello
  • 添加平台支持
     cordova platform add ios
     cordova platform add amazon-fireos
     cordova platform add android
     cordova platform add blackberry10
     cordova platform add firefoxos
     cordova platform add wp7
     cordova platform add wp8
     cordova platform add windows8

    此處選擇cordova platform add android

  • 添加插件支持
    cordova plugin add org.apache.cordova.device                   //設備API
    
    cordovaplugin add org.apache.cordova.network-information  //網絡(事件)
    
    cordova plugin add org.apache.cordova.battery-status      //電池(事件)
    
    cordova plugin add org.apache.cordova.device-motion     //加速器
    
    cordova plugin add org.apache.cordova.device-orientation     //羅盤
    
    cordova plugin add org.apache.cordova.geolocation         //定位
    
    cordova plugin add org.apache.cordova.camera                 //攝像頭
    
    cordova plugin add org.apache.cordova.media-capture     //媒體文件處理
    
    cordova plugin add org.apache.cordova.media                   //媒體文件處理
    
    cordova plugin add org.apache.cordova.file                        //文件訪問
    
    cordova plugin add org.apache.cordova.file-transfer          //文件傳輸
    
    cordova plugin add org.apache.cordova.dialogs                 //對話框
    
    cordova plugin add org.apache.cordova.vibration              //震動
    
    cordova plugin add org.apache.cordova.contacts               //聯系人
    
    cordova plugin add org.apache.cordova.globalization       //全球化
    
    cordova plugin add org.apache.cordova.splashscreen       //閃屏
    
    cordova plugin add org.apache.cordova.inappbrowser             //打開新的瀏覽器窗口
    
    cordova plugin add org.apache.cordova.console                //調試控制台

    上面只是一些例子

  • 也可以添加git插件cordovaplugin add https://github.com/apache/cordova-plugin-console.git
  • 你可以用以下命令查看所有已經安裝的插件cordova plugin ls
  • 使用以下命令刪除插件cordovaplugin rm org.apache.cordova.console    
  • Plugin add高級選項上面的安裝方式是從registry.cordova.io庫中按照id獲取插件,這是一個非常通用的做法。你可以在安裝時指定版本,比如:

    cordovaplugin add org.apache.cordova.console@latest

    cordovaplugin add org.apache.cordova.console@0.2.1

  • 插件安裝完了就生成對應的項目 cordova platform update android
  • 安裝完了就是編譯:cordova build android 全部編譯 cordova build
  • 通過以下命令查看幫助信息:cordova help
  • 以下語句更新cordova npmupdate -g cordova

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM