一。什么是混合开发

混合开发是指同时使用前端技术与原生技术来开发App的一种思想思路。通常由前端负责大部分界面开发和业务逻辑,原生负责封装原生功能供前端调用,二者以 WebView 作为媒介建立通信,从而既拥有 Web 开发的速度优势,又能拥有强大的原生能力。

从前端开发者的角度,混合应用可以简单地理解为让前端页面跑在一个特殊的浏览器环境里,这个环境除了常规 Web API之外,还额外提供了很多可以直接调用手机原生能力的 API。

从原生开发者的角度,混合应用其实就是一个原生开发的 App 外壳,这个外壳将原生功能封装成很多 API 并注入到 WebView 里,然后将前端页面打包进 App,App 启动时用 WebView 加载前端页面,剩下的就全交给前端了。

二.混合开发的核心技术

一.webview

 

混合开发 ios android 混合开发模式_加载

混合开发 ios android 混合开发模式_App_02

混合开发 ios android 混合开发模式_混合开发 ios android_03

webview是app用于承载网页的一个组件,虽然各种平台的webview名称可能不一样,但是都是一个概念。就像浏览器有很多种,但是统称为浏览器一样。

app可以有webview,也可以没有。

二.file协议

作用:加载本地的资源。断网也可以加载资源,速度快。

file协议和http协议的对比:

混合开发 ios android 混合开发模式_加载_04

混合开发 ios android 混合开发模式_hybrid_05

 

混合开发 ios android 混合开发模式_加载_06

因为hybrid需要达到跟原生类似的或者几乎一样的体验效果,肯定不能跟webapp一样,使用http协议加载资源,需要用file协议加载资源。

 

三.混合开发的实现要点简述

混合开发 ios android 混合开发模式_混合开发_07

混合开发 ios android 混合开发模式_App_08

混合开发的更新方式:

web端每次更新,上传到服务器,然后app端每次打开的时候就从server里面请求最新的资源,这样就实现了自动更新。

混合开发 ios android 混合开发模式_混合开发 ios android_09

混合开发 ios android 混合开发模式_加载_10

四。hybrid和h5的优缺点对比

hybrid相对于h5的优点是:

1.用户体验更流畅,断网任然可以看到页面。

2.页面响应速度更快,接近原生,切换页面无白屏瞬间。

hybrid相对于h5的缺点是:

1.开发成本提高

2.运维成本提高

hybrid相对于原生的优点是:

1.迭代更新无需审核,满足业务需求经常变动的情况

2.hybrid一套代码寄可以兼容ios,也可以兼容android,所以开发效率高

hybrid相对于原生的缺点是:

1.对于某些性能要求很高的页面,比如动画,用H5实现的效果还是比较差。

五。应用场景

 

混合开发 ios android 混合开发模式_App_11