Cordova 和 Ionic 的區別

Cordovajavascript

    Apache Cordova是一個開源的移動開發框架。容許你用標準的web技術-HTML5,CSS3和JavaScript作跨平臺開發。 應用在每一個平臺的具體執行被封裝了起來,並依靠符合標準的API綁定去訪問每一個設備的功能,好比說:傳感器、數據、網絡狀態等。css

    使用Apache Cordova的人羣:前端

  • 移動應用開發者,想擴展一個應用的使用平臺,而不經過每一個平臺的語言和工具集從新實現。
  •  web開發者,想包裝部署本身的web App將其分發到各個應用商店門戶。
  •  移動應用開發者,有興趣混合原生應用組建和一個WebView(一個特別的瀏覽器窗口) 能夠接觸設備A級PI,或者你想開發一個原生和WebView組件之間的插件接口。

Ionicjava

    ionic是一個專一於用WEB開發技術,基於HTML5建立相似於手機平臺原生應用的一個開發框架。綁定了AngularJS和Sass。這個框架的目的是從web的角度開發手機應用,基於PhoneGap的編譯平臺,能夠實現編譯成各個平臺的應用程序。android

  • ionic的開發添加android和ios環境。
  • ionic提供不少css組件和javascript UI庫。
  • ionic能夠支持定製android和ios的插件,也支持服務端REST的敏捷開發。 

解釋1ios

  • Cordova是一個移動應用開發框架,你基於這個東西能夠用網頁代碼做出APP。
  • Phonegap Build是一個在線打包工具,你把使用cordova寫好的項目給Phonegap Build,Phonegap Build就會在線打包成App。
  • 目前你們所說的Phonegap,其實指的都是cordova,而那個真正被Adobe收購了的Phonegap(PhoneGap | Home),如今是Phonegap Build,(iPhone, Android SDK service)和cordova(Apache Cordova)的合體。而對於你面對的實際問題,就是需不須要Phonegap Build的功能,需不須要在線打包。

做者:冀鑫
連接:https://www.zhihu.com/question/21649237/answer/21728891
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。web

 解釋2瀏覽器

    Ionic和Angular前端框架

    首先要明確的是Ionic是Angular的衍生品,Angular是單獨的js庫,和jQuery同樣可以獨立用於開發應用,而Ionic只是對Angular進行了擴展,利用Angular實現了不少符合移動端應用的組件,並搭建了很完善的樣式庫,是對Angular最成功的應用樣例。即便不使用Ionic,Angular也可與任意樣式庫,如Bootstrap、Foundation等搭配使用,獲得想要的頁面效果。網絡

    Ionic/Angular和Cordova

    可能會有人被問道:「Cordova比Ionic/Angular好嗎?」,這就很尷尬了,根本是毫無心義的問題。它們在混合開發中扮演的是不一樣的角色–Ionic/Angular負責頁面的實現,而Cordova負責將實現的頁面包裝成原生應用(Android:apk;iOS:ipa)。就像花生,最內層的花生仁是Angular,花生仁的表皮是Ionic,而最外層的花生殼則是Cordova。包裝完成以後咱們的頁面纔有可能調用設備的原生能力,最後才能上傳到應用商店被用戶使用。

    Ionic/Angular和Cordova插件

    關於Cordova插件要明確如下幾點:

  •     Cordova插件的做用是提供一個橋樑供頁面和原生通訊,首先咱們的頁面不能直接調用設備能力,因此須要與可以調用設備能力的原生代碼(android:Java;ios:OC)通訊,此時就須要Cordova插件了。
  •     Cordova插件可以再任何Cordova工程中使用,和使用什麼前端框架(如Ionic)無關。
  •     Ionic 2中封裝了Ionic Native,方便了Cordova插件的使用,但在Ionic 2中仍然能夠像Ionic 1中同樣使用Cordova插件,Ionic Native不是必須的。
  •     即便在Ionic 2中使用了Ionic Native,也首先須要手動添加插件,如:cordova plugin add cordova-plugin-pluginName。
相關文章
相關標籤/搜索