混合APP的原理是怎样的?
大家可以理解为,把Android 和 IOS 应用比作成一个手机浏览器,我们开发的HTML+CSS+JS 的页面,可以放在它们里面浏览,它们内置的浏览器为我们提供除了浏览页面之外, 还提供了JS接口给我们可以获得和操作它们原生的一些方法让我们可以获得跟原生APP一样的体验,例如我们可以在html 页面上通过JS接口, 获得它原生图库功能,拍照功能,录音,录像,获得设备信息,获得用户手机通信录,扫一扫等等功能。
混合APP的有什么优势,我们对比下?
1. 原生APP 开发: 上手较难,不跨平台,安卓一套,苹果一套,很难有人两种开发语言都熟练开发,开发成本高。(主要)
使用平台以及语言
在Android、IOS等移动平台上利用提供的开发语言、开发类库、开发工具进行App软件开发。比如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode进行开发。
2. 混合APP 开发:上手容易,跨平台,只要一套UI代码通过稍微调整下,就能在Android 和 IOS 上运行, 同样的UI布局也可以web上使用,开发者只需要懂些HTML+CSS+JS 就可以上手开发出APP应用,更深层开发,懂点原生native 开发,可以扩展更高级的功能。
使用平台以及语言
前端常用开发工具 vscode、webstorm、hbuiderx 等 以及三大件(HTML+CSS+JS) 开源框架如下(移动APP框架介绍)
3. WEB APP开发:这里指的是手机端移动网站,需要通过手机浏览器输入网址才能访问,只需要会HTML+CSS+JS,就能上手。
移动APP框架介绍
国外框架,全部开源
- Cordova
- React Native
- Ionic
- Flutter
国内的框架
- WeX5 (不开源)
- Appcan (不开源)
- Apicloud (不开源)
- Taro - DCloud (开源) 推荐,注意:坑也多
他们各自的优缺点
参考下文章zhuanlan.zhihu.com/p/343732539
其他参考文章: www.html5-app.com/show/58