Ionic是用來(lái)做什么的
Ionic是一款基于web開發(fā)技術(shù)的框架,為了使開發(fā)者更加高效快捷的開發(fā)移動(dòng)端native APP而誕生的。
Ionic2的出現(xiàn)
于2017年年初發(fā)布,隨著angular2框架的出現(xiàn),Ionic也由原來(lái)基于angularjs框架升級(jí)到angular框架,同時(shí)考慮到對(duì)app的可維護(hù)性,也由原來(lái)的基于JavaScript升級(jí)到Typescript。
Ionic怎么用
安裝Ionic Cli 和 Cordova
npm install -g cordova ionic
Ionic依賴ionic cli來(lái)創(chuàng)建工程,并通過(guò)cordova build并生成native app。
iOS 和 Android需要配置一下相應(yīng)的cordova
運(yùn)行以下命令就可以創(chuàng)建一個(gè)Ionic項(xiàng)目工程了
ionic start MyIonicProject [init type]
MyIonicProject 是自己的工程目錄名
- tabs : 包含三個(gè)簡(jiǎn)單tab
- sidemenu: 包含一個(gè)左邊菜單
- blank: 空頁(yè)面
- super: 完整的多功能小demo
- tutorial: 項(xiàng)目引導(dǎo)工程
運(yùn)行以下命令,啟動(dòng)工程
ionic serve
運(yùn)行一下命令可以快速創(chuàng)建 pipes, components, pages, directives, providers, 和 tabs
ionic generate page MyPage
或
ionic g page MyPage
介紹幾個(gè)常用的API
NavController
NavController是一個(gè)控制頁(yè)面跳轉(zhuǎn)的基礎(chǔ)組件,此組件類似一個(gè)棧,當(dāng)前要顯示的頁(yè)面置于棧頂,回退時(shí)直接pop這個(gè)棧就行。
可以將此組件注入到除根組件之外其他組件中,用于控制頁(yè)面跳轉(zhuǎn)。
如果要在根組件下進(jìn)行跳轉(zhuǎn),可以使用ion-nav組件,然后給它添加一個(gè)索引變量,通過(guò)@ViewChild獲取ion-nav的一個(gè)實(shí)例,之后根組件就可以通過(guò)這個(gè)實(shí)例進(jìn)行頁(yè)面跳轉(zhuǎn)了。
MenuController
MenuController控制菜單欄的組件。
常用的方法有:
- close(menuId) 關(guān)閉菜單
- enable(menuId) 使菜單有效/無(wú)效
- open(menuId) 打開菜單
- toggle(menuId) 切換菜單
兼容性
Android:完全兼容4.4以上的版本,對(duì)4.0.x以下的版本不做支持,之間的版本建議使用Crosswalk來(lái)解決兼容性
iOS:iOS 8+
性能
ionic程序跑在webview里面,所有的對(duì)底層硬件的訪問(wèn)都依賴cordova,所以對(duì)一些對(duì)交互和圖形處理有高要求的App,會(huì)存在缺陷;同時(shí),當(dāng)需要調(diào)用大量native接口時(shí),性能上也會(huì)出現(xiàn)問(wèn)題。