推荐文章:🌟 iOS app 秒开 H5 优化总结 - juejin.im

编辑 @折腾范儿_味精 - weibo.com 简评:为了让 app 里面的 H5 页面实现秒开的效果,很多项目都采用了加载本地 H5 离线包的方式。如何实现这样的秒考就得分别从两个方面着手实现。

- 离线包的分发与下载
- WebView 的本地加载

需要补充一点的是,本文在 WebView 本地加载上都是以拦截的思路进行本地加载,UIWebView 自然可以顺畅使用 NSURLProtocol 但是在 WKWebView 里就面临很大的阻碍,而作者给出的代替方案还是 WKURLSchemeHandler 拦截,但面临的代价也是本来前端无感的拦截方案现在被迫前端也得受影响,打包的时候对资源协议头进行适配,这一点和很多公司的离线包方案略有差异。

在 WKWebView 里,即便是使用 WKURLSchemeHandler,资源拦截的方式也面临着与安卓差异化严重,对前端侵入性严重等问题,很多公司的离线包方案选择了另外的一条路,App 起本地服务器 run 前端离线包页面,做到让 WebView 无感知当前是一个“离线”页面,这样做能够最大程度的让前端对于离线包“无感”,也能忽略掉拦截 API 的平台差异导致的框架实现差异。

更多优质内容,请查看本周周报:
展开
评论