hybrid
- 移动端占大部分流量,远超 PC,APP 开发
- APP 中有很大比例的前端代码
hybrid 存在价值
- 可以快速迭代更新【关键】无需 app 审核
- 体验流畅(和 native app 体验基本一致)
- 减少开发和沟通成本,双端公用一套代码
webview
- 是 app 中的一个组件
- 用于加载 h5 页面,即一个小型的浏览器内核
使用场景
- 不是所有场景都适合使用 hybrid
- 使用 Native App 体验要求极致,变化不频繁
- 使用 hybrid 体验要求高,变化频繁
- 使用 h5 体验无要求,不常用
hybrid 具体实现
- 前端做好静态页面,将文件交给客户端
- 客户端拿到前端静态页面,以文件形式存储在 app 中
- 客户端在一个 webview 中
- 使用 file 协议加载静态页面
- hybrid是客户端和前端的混合开发
- hybrid存在的核心意义在于快速迭代,无需审核
思考(目的、可行途径)
- 启动(更新)要替换每个客户端的静态文件
- 在客户端来做上面条
- 客户端去server下载最新静态文件
- 前端维护server上的静态文件
遗留问题
- app发布后,静态文件如何实时更新
- 静态页面如何获取内容
对上述问题的流程补充
- 分版本,有版本号,如201801010900
- 将静态文件压缩成zip包,上传到服务端
- 客户端每次启动,都去服务端检查版本号
- 如果服务端版本号大于客户端版本号,就去下载最新的zip包
- 下载完后解压包,然后将现有文件覆盖
要点
- 服务端的版本和zip包维护
- 更新zip包前,先对比版本号
- zip下载解压和覆盖
