1. 通讯方式以及通讯框架
58 App 最初采用的 Web 调用 Native 的通讯方式是 AJAX 请求,不仅存在内存泄露问题,且 Native 在回调给 Web 结果时无法确定回调给哪个 Web View。另外,如何搭建一个简单、实用、扩展性好的 Hybrid 框架是一个重点内容。这些内容将在通讯部分详细介绍。
2. 缓存原理及缓存框架
提升 Web 页面响应速度的一个有效手段就是使用缓存。58 iOS 客户端如何对 Web 资源进行缓存以及如何搭建 Hybrid 缓存框架将在缓存部分介绍。
3. 性能
iOS 8 推出了 WebKit 框架,核心是 WKWebView,其在性能上要远优于 UIWebView,并且提供了一些新的功能,但遗憾的是 WKWebView 不支持自定义缓存。我们经过调研和测试发现了一些从 UIWebView 升级到 WKWebView 的可行解决方案,将在性能部分重点介绍。
4. 耦合
58 iOS 客户端最初的 Hybrid 框架设计过于简单,导致 Web 载体页渐渐变得十分臃肿,继承关系十分复杂。耦合部分详细介绍了平稳解决载体页耦合问题的方案。
58 App 最初采用的 Web 调用 Native 的通讯方式是 AJAX 请求,不仅存在内存泄露问题,且 Native 在回调给 Web 结果时无法确定回调给哪个 Web View。另外,如何搭建一个简单、实用、扩展性好的 Hybrid 框架是一个重点内容。这些内容将在通讯部分详细介绍。
2. 缓存原理及缓存框架
提升 Web 页面响应速度的一个有效手段就是使用缓存。58 iOS 客户端如何对 Web 资源进行缓存以及如何搭建 Hybrid 缓存框架将在缓存部分介绍。
3. 性能
iOS 8 推出了 WebKit 框架,核心是 WKWebView,其在性能上要远优于 UIWebView,并且提供了一些新的功能,但遗憾的是 WKWebView 不支持自定义缓存。我们经过调研和测试发现了一些从 UIWebView 升级到 WKWebView 的可行解决方案,将在性能部分重点介绍。
4. 耦合
58 iOS 客户端最初的 Hybrid 框架设计过于简单,导致 Web 载体页渐渐变得十分臃肿,继承关系十分复杂。耦合部分详细介绍了平稳解决载体页耦合问题的方案。