動態化更新是 App 開發必然面對的問題。在 iOS 環境下,Apple 開發者們像是“ 帶着手銬腳鐐跳舞” ,相比之下 Android 開發者會輕松一點,有很多相關的開源框架幫助 App 進行熱修復、熱更新。
本期 fir.im Weekly 整理了滴滴打車團隊動態化方案、JSpatch 的作者 iOS 動態化分享,以及 QQ空間、微信、微信讀書、美團點評技術團隊的 Android 熱修復熱更新方案,還有一些其他的技術分享。
DynamicCocoa:滴滴 iOS 動態化方案的誕生與起航
我就叫Sunny怎么了在微博上公布了滴滴 iOS 動態化方案 DynamicCocoa,保持 iOS 原生技術棧讓已有的 OC 代碼動態化運行。微信文章傳送門:DynamicCocoa:滴滴 iOS 動態化方案的誕生與起航,同時,滴滴客戶端 App 架構團隊考慮於 2017 年初開源。
相比跨端方案,也帶來了一個新思路:iOS 和 Android 都保留 native 開發模式,用各自的方式將 native 代碼直接動態化,保持各平台的差異性。
iOS 動態化的故事
JSpatch 的作者 @bang 聊了聊關於做了 iOS 動態化的故事,感興趣的點擊這里看看。想要更多的了解JSpatch的特性,可以看看 iOS 動態更新方案對比:JSPatch vs React Native。
安卓 App 熱補丁動態修復技術介紹
以補丁的方式動態修復緊急 Bug,不再需要重新發布App,不再需要用戶重新下載,覆蓋安裝?來看看 QQ 空間團隊關於安卓 App 熱補丁動態修復的方案。
微信 Android 熱補丁實踐演進之路
微信的動態化方案是基於 dexDiff 和 dexPatch,這篇文章幫助大家不僅能夠全面的了解各項熱補丁技術的優缺點,弄清楚在什么場景下使用哪個熱補丁技術。目前,微信熱補丁框架也已開源——Tinker,關於微信 Tinker 的一切都在這里,也可以了解下@流川楓與蒼井空-_- 的這篇 Android熱補丁之Tinker原理解析。
Android熱更新方案Robust
@美團點評技術團隊在了解 Instant Run 原理之后,實現了一個兼容性更強的熱更新方案,是更加產品化的 hotpatch 框架--Robust, 詳情見這里。
Android Patch 方案與持續交付
WeRead 團隊基於已經出現的框架沒有更合適的輪子,就自己造了一個 patch 方案,以加速 bug 處理和版本持續交付。文章傳送門。
Android 熱修復實踐應用—AndFix
來自非著名程序員公眾號的分享。
HanWen 的這篇文章記錄使用阿里巴巴開源熱修復框架——AndFix的整個實踐過程,值得看看。
『 其他』
寫給 iOS 開發者看的 HTTPS 指南
很多 iOS 開發者都不明白 HTTPS、TLS、證書到底是怎么回事,甚至有些同學還有不少誤解。呂文翰_JohnLui的這篇文章着重以大部分 iOS 開發者能理解的方式介紹 APP 啟用 HTTPS 支持的過程中跟 APP 相關的部分。
2016年iOS技術圈回顧
來自@愚公編程MrPeak分享。
Peak君 盤點了2016年 iOS 技術圈發生的一些大大小小的事,值得品味。感興趣地來這里看看。
這期的 fir.im Weekly 就到這里,投稿請聯系 dm[at]fir.im.
歡迎分享更多的內容。
fir.im