混合开发
1、开发模式
pc 端开发
web app ,移动端网页开发,移动端开发,m 站开发;
原生应用开发 ios 一个人,Android 一个人开发,成本高,底层渲染,比如打开摄像头;
混合开发——基于混合开发平台,框架提供了大部分常用的硬件功能的实现,我们只需要用 javascript 来调用即可
2、什么是混合开发
使用原生(native)+ HTML5 进行开发 -- -- 通过了解平台,让平台打包成不同平台的app
3、混合开发的优点
①一次开发多平台运行。
②开发速度快,不需要了解各个平台的 native 开发语言也可以开发轻量级移动应用。
③各平台 UI 表现一致(原生应用不一致)
4、混合开发的缺点
①使用体验与 native 开发有差距
②前端代码容易被盗取
5、为什么使用混合开发
HTML 开发有诸多的优势,但是纯 HTML 开发也有着一些局限,所以使用混合编程,
可以相互整合,相互弥补直接的弱点。但是看上去很美的东西,其实还是有很多坑的。
WebView 组建是大部分 UI 系统都有的一个重要的组建。在 Android 就是
WebView ,在 iOS 里是 UIWebView 。基本上都是一个意思,load 一个 HTML 页面,
并且可以执行 JavaScript 脚本。这样的混合编程带来了不少的好处,就是减少开发的成本。
Android 里对 WebView 的功能还是很全的,而且可以通过addJavaScriptInterface 来进行扩展,
让 JavaScript 代码可以直接调用 Java 代码,并且同步返回值。但是最近在 iOS 上就不行。
iOS 是使用另外的一套机制来实现的,必须当页面发起一个请求的时候,OC 层才可以捕获到事件,
并且去处理,处理完成后,再调用 JavaScript 来传递值。这是一个异步的方法。同时,
需要页面发起请求,在当前页面里,增加一个 iFrame 对象,这个 iFrame 的宽高都为 0,
并且不可见,iFrame 的 src 的值,就是最终传递到 OC 层的请求,这个可以自定义协议。