动态化更新是 App 开发必然面对的问题。在 iOS 环境下, Apple 开发者们像是“ 带着手铐脚镣跳舞” ,相比之下 Android 开发者会轻松一点,有很多相关的开源框架帮助 App 进行热修复、热更新。
本期 fir.im Weekly 整理了滴滴打车团队动态化方案、 JSpatch 的作者 iOS 动态化分享,以及 QQ 空间、微信、微信读书、美团点评技术团队的 Android 热修复热更新方案,还有一些其他的技术分享。
我就叫 Sunny 怎么了在微博上公布了滴滴 iOS 动态化方案 DynamicCocoa,保持 iOS 原生技术栈让已有的 OC 代码动态化运行。微信文章传送门:DynamicCocoa :滴滴 iOS 动态化方案的诞生与起航,同时,滴滴客户端 App 架构团队考虑于 2017 年初开源。
相比跨端方案,也带来了一个新思路: iOS 和 Android 都保留 native 开发模式,用各自的方式将 native 代码直接动态化,保持各平台的差异性。
JSpatch 的作者 @bang 聊了聊关于做了 iOS 动态化的故事,感兴趣的点击这里看看。想要更多的了解 JSpatch 的特性,可以看看 iOS 动态更新方案对比:JSPatch vs React Native。
以补丁的方式动态修复紧急 Bug ,不再需要重新发布 App ,不再需要用户重新下载,覆盖安装?来看看 QQ 空间团队关于安卓 App 热补丁动态修复的方案。
微信的动态化方案是基于 dexDiff 和 dexPatch ,这篇文章帮助大家不仅能够全面的了解各项热补丁技术的优缺点,弄清楚在什么场景下使用哪个热补丁技术。目前,微信热补丁框架也已开源——Tinker,关于微信 Tinker 的一切都在这里,也可以了解下@流川枫与苍井空-_- 的这篇 Android 热补丁之 Tinker 原理解析。
@美团点评技术团队在了解 Instant Run 原理之后,实现了一个兼容性更强的热更新方案,是更加产品化的 hotpatch 框架-- Robust, 详情见这里。
WeRead 团队基于已经出现的框架没有更合适的轮子,就自己造了一个 patch 方案,以加速 bug 处理和版本持续交付。文章传送门。
@_HanWen 的这篇文章记录使用阿里巴巴开源热修复框架——AndFix的整个实践过程,值得看看。
『 其他』
很多 iOS 开发者都不明白 HTTPS 、 TLS 、证书到底是怎么回事,甚至有些同学还有不少误解。吕文翰_JohnLui的这篇文章着重以大部分 iOS 开发者能理解的方式介绍 APP 启用 HTTPS 支持的过程中跟 APP 相关的部分。
来自@愚公编程 MrPeak分享。
Peak 君 盘点了 2016 年 iOS 技术圈发生的一些大大小小的事,值得品味。感兴趣地来这里看看。
这期的 fir.im Weekly 就到这里,投稿请联系 dm[at]fir.im.
欢迎分享更多的内容。