Ionic是一個(gè)強大的HTML5 原生應用(native app) 開(kāi)發(fā)框架,幫助你用HTMLL,css和javascript構建具有原生味道的移動(dòng)應用(mobile apps)
Ionic是一個(gè)高級HTML5混合式移動(dòng)應用開(kāi)發(fā)框架,同時(shí)也是一個(gè)開(kāi)源的前端框架。ionic注重的是視覺(jué)效果和用戶(hù)體驗,所以使用了 AngularJS來(lái)構建很各種酷的效果。
Ionic是類(lèi)似Bootstrap概念的WebApp框架,提供了 Hybrid App的 基礎css,UI控件,工程架構和最佳 實(shí)踐
Ionic的優(yōu)勢非常顯著(zhù):
從網(wǎng)上盜來(lái)的一張圖,可以很直觀(guān)的看出Native app 、Web app和Hybrid app三者之間的區別
1)Native APP:Native Code編程,代碼編譯之后以2進(jìn)制或者字節碼的形式運行在OS上,直接調用OS的Device API;
2)Web APP,以HTML+JS+CSS等WEB技術(shù)編程,代碼運行在瀏覽器中,通過(guò)瀏覽器來(lái)調用Device API(取決于HTML5未來(lái)的支持能力):
3)Hybrid APP,部分代碼以WEB技術(shù)編程,部分代碼由某些Native Container承擔(例如PhonGAP插件,BAE插件),其目的是在HTML5尚未完全支持Device API和Network API的目前階段,承擔這部分職責。
總體來(lái)講,Hybrid App是同時(shí)采用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言進(jìn)行開(kāi)發(fā),通過(guò)不同的應用商店進(jìn)行打包與分發(fā),應用的特性更接近原生應用而且又區別與Web應用。但是在開(kāi)發(fā)過(guò)程中同時(shí)使用了網(wǎng)頁(yè)語(yǔ)言,所以開(kāi)發(fā)成本與難度大大降低。也就是說(shuō)Hybrid App兼具了Native App與Web App兩者的諸多優(yōu)點(diǎn)。
Hybrid App有以下的特性:
開(kāi)發(fā)時(shí)可能不采用或者大部分不采用原生語(yǔ)言,但是卻有所有原生應用的特性;架構方案會(huì )和原生有出入,基本由工具而定;具有跨平臺特性;一般開(kāi)發(fā)相對原生開(kāi)發(fā)的方式要簡(jiǎn)單。工具方面,我們可以使用Angular.js用于雙向數據綁定和網(wǎng)絡(luò )請求以及視圖管理等工作,使用require.js來(lái)實(shí)現模塊化開(kāi)發(fā),幫你組織代碼。使用jade模板引擎,關(guān)于jade這篇文章介紹得挺好的:http://segmentfault.com/a/1190000000357534
最近,Fackbook開(kāi)源了react native,其宣傳 “Learning once, write anywhere” 。
ionic除了提供css框架以外,還提供js UI 庫,ionic遵循了mvc的設計模式
React Native 可以基于用來(lái)構建用戶(hù)界面的React.js來(lái)開(kāi)發(fā)iOS和Android原生應用。
React Native 使你能夠運用 js 和 React 的相關(guān)知識,基于本地平臺構建世界級的應用。
React Native 關(guān)注的焦點(diǎn)是開(kāi)發(fā)者能夠高效地開(kāi)發(fā)所有相關(guān)平臺的應用 - 學(xué)習一樣東西就可以做任何事情。
需要使用大量UI控件,表單密集型的應用
jQuery Mobile? Sencha Touch? IonicUI較單一 ,注重性能,注重頁(yè)面特效的應用(淘寶的)
使用多個(gè)小型js庫? zepto.js作為底層庫,兼容jquery語(yǔ)法? 使用sea.js進(jìn)行模塊的管理和發(fā)布? 使用backbone.js為基礎的MVC架構,用來(lái)剝離應用的數據部分 ? 使用underscore.js做為前端模板引擎(或使用juicer)如果你想要開(kāi)始Ionic開(kāi)發(fā),你需要先安裝 Node.js。
在win系統中:
npm install -g cordova ionic在Mac中,需要加上sudo:
sudo npm install -g cordova ionic安裝完后在cmd或者終端輸入ionic:
這樣就表示安裝成功啦。
ionic官網(wǎng)為開(kāi)發(fā)者提供了多個(gè)開(kāi)發(fā)模板,如:
空白模板(Black app): ionic start myApp blanktabs模板 :ionic start myApp tabssidemenu模板: ionic start myApp sidemenuionic start myIonicApp tabsy確定后,會(huì )自動(dòng)跳轉到官網(wǎng)注冊一個(gè)賬號的$ cd myIonicApp$ ionic platform add ios$ ionic build ios$ ionic emulate ios以上輸完之后貌似會(huì )提示一個(gè)錯誤,如果正常的話(huà)是會(huì )出現一個(gè)ios的模擬器的

然后再輸入下面這串命令行,繼續刷屏:
$ sudo npm install -g ios-sim然后繼續輸入:
$ ionic emulate ios就會(huì )彈出模擬器了。
關(guān)于更多命令只需在終端輸入ionic:

在這里,我推薦大家使用 $ ionic serve 命令來(lái)使用電腦瀏覽器調試,如圖:

使用下面的命令查詢(xún)、安裝、卸載插件:
ionic plugin list //列出所有已安裝插件ionic plugin remove 插件名 //先根據上面的list列出插件,然后根據插件名卸載ionic plugin add 插件地址 //這個(gè)插件地址可以是github的項目地址,也可以是一個(gè)文件夾路徑ionic –help //查看幫助文件
ionic項目托管平臺地址: https://github.com/driftyco/ionic/
css組件:http://www.ionicframework.com/docs/components/#header
react 中文索引:http://nav.react-china.org/

聯(lián)系客服