ionic是什么:
Ionic(ionicframework)一款開源的Html5移動App開發框架,是AngularJS移動端解決方案,Ionic以流行的跨平台移動app開發框架phoengap為藍本,讓開發者可以通過命令行工具快速生成android ios移動app應用
phoengap是什么?
PhoneGap是一個用基於HTML,CSS和JavaScript的,創建移動跨平台移動應用程序的快速開發平台。它使開發者能夠利用iPhone,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手機的核心功能——包括地理定位,加速器,聯系人,聲音和振動.
通俗的講:ionic是一款基於angularjs的html5移動app開發框架
phonegap就是一款可以打包並且可以讓js調用原生的移動app框架
那我不用命令安裝ionic 可以使用ionic開發app嗎?答案是可以得。
就可以把ionic當作一款html5 移動app框架,把phonegap/cordova 當作打包 並且調用原生的框架就可以了
至於:為什么ionic也可以打包,上面也說了,ionic的打包插件是基於phonegap/cordova的
首先我們需要明確以下幾個概念:
1.即使我們將移動端web頁面做得和原生應用及其相似,在我們的頁面中也無法像原生應用那樣調用原生的能力,當然通過輸入框觸發鍵盤、圖庫、拍照等操作不在這里“調用原生能力”的范疇。
2.單純的web頁面不能提交到應用商店被用戶使用。
然后,我們分別就它們之間的關系做出解釋:
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。
轉自:https://blog.csdn.net/xiaolinlife/article/details/73548938