Ionic的*原理是通过cordova把一个Web应用嵌入原生应用。以下海文小编介绍了Ionic的技术栈模型和Hybrid应用和其它类型的应用的区别,一目了然。
1chapter1 ionic和Hybrid应用介绍ionic技术栈模型
比较原生应用、移动端网站和Hybrid应用的架构
原生应用
ios使用Objective-C,或者Swift。Android使用java。优缺点就不赘述了。
移动端网站(web应用)
移动端网站免安装、跨平台,并且没有任何审核流程,缺点是不具备原生访问能力,它依赖于浏览器的功能。(用户更习惯使用app,而不是输入网址、访问移动端网站)
Hybrid应用
它一次开发,多个平台部署,能够最小化开发成本,它使用web技术开发,又能访问原生API。当然从性能上由于依赖于webview所以性能比不上原生应用,原生功能的访问也取决于相应的插件有没有被开发出来或者其他方法。
chapter1 ionic和Hybrid应用介绍
Cordova的任务是实现浏览器窗口和原生API的通信。(桥梁)
背景:PhoneGap是adobe公司收购的,adobe公司就把PhoneGap的核心抽出来贡献给apache。PhoneGap会继续存在,它和cordova的关系就像chrome浏览器的内核是Webkit一样。也可以说PhoneGap是商业的Cordova。(这是百度资料,可是我想看看最新资料是如何陈述的。)
Ionic应用打开照相机时整个技术栈的*流程:
1.用户单击按钮
2.按钮调用Angular控制器,控制器会通过javascript API调用cordova。
3.cordova使用原生SDK和设备通信,请求使用照相机应用。
4.设备打开照相机应用(或者请求用户授权),用户可以照相。
5.用户确定照片之后,照相机应用关闭,把图片数据返回给Cordova。
6.Cordova把图片数据传递到Angular的控制器。
7.图片会更新到Ionic组件中。
1.2.Hybrid应用和其他移动端应用的区别
chapter1 ionic和Hybrid应用介绍
1.3 ionic支持的移动平台
http://ionicframework.com/docs/overview/原文如下
Browser Support
Ionic 1
Ionic V1 is focused on building native/hybrid mobile apps rather than mobilewebsites.
As such,our browser support tends to be whatever Web View API is available tonative apps on a given platform.For Ionic 1x,that means UIWebView for iOS 7+,and Android 4.1 and up.We recommend using Crosswalk to improveperformance on older devices.
Ionic 2
Ionic 2 is focused on building both native/hybrid apps through Cordova,as wellas adding the ability for Progressive Web Apps and Electron.
The following OSs and browsers are supported:
iOS 8+
Windows 10 Universal App
Android 4.4+
Support can be pushed back to 4.1 if Crosswalk is used with Cordova
翻译:
ionic1
Ionic1版本更多的是创建原生/混合式应用,而非移动端网站。因为这样的原因,我们的浏览器支持趋向于在给定的移动端平台对于原生APP的webview能够访问到的任何接口API。对于Ionic1来说,它意味着ios7+和android 4.1+的webview。我们推荐使用crosswalk来提高旧版本设备的性能。
ionic2
Ionic2版本通过cordova来创建原生/混合式应用,也增加了创建web app和electron(一种桌面应用构建方式)的能力。
它支持的系统和浏览器是:
iOS 8+
Windows 10 Universal App
Android 4.4+(Support can be pushed back to 4.1 if Crosswalk is used with Cordova)