HTML5 离线化
离线包类型
- 全局离线包: 包含公共的资源,可供多个应用共同使用
- 私有离线包: 只可以被某个应用单独使用
架构
加载全局包
查找本地是否有离线包
如果本地没有离线包,会触发包下载,确认本地和线上版本一致
有的话解包到内存
离线包下载
- 如果用户处于移动网络,不会在后台下载离线包
- 如果当前用户点击 app,离线包没有下载好,用户需要等待离线包下载好才能用
离线包运行模式
- 请求包信息
- 从服务端请求离线包信息存储到本地数据库的过程。
- 离线包信息包括离线包的下载地址,版本号,加密/签名信息等
- 下载离线包:把离线包从服务端下载到手机
- 安装离线包:下载目录,拷贝到手机安装目录
大厂离线包方案
- 美团: LsLoader
- 腾讯:Alloykit- 手 Q 离线包
- 阿里:极致的 Hybrid