IOS 2020 熱更新

先夸夸JSPatch,平臺 SDK 1.7.2 以上版本可以通過蘋果審核,可以正常使用。Github 開源版本暫不可用。

暫時1.8.0 是需要付費使用的.還需要聯(lián)系獲得,跟阿里的熱更新差不多. 阿里的熱更新需要月活20萬才可以接入,才給SDK包.如果需要自己做熱更新的, 還是企業(yè)賬號的可以使用1.7.2的包自己做更新,1.8.0還會自己彈框應(yīng)該是交錢才能去掉測試彈框.

一、JSPatch

http://www.jspatch.com/

https://github.com/bang590/JSPatch

熱更新時,從服務(wù)器拉去js腳本。理論上可以修改和新建所有的模塊,但是不建議這樣做。建議用來做緊急的小需求和 修復(fù)嚴重的線上bug。官網(wǎng)說: JSPatch 平臺 SDK 1.7.2 以上版本可以通過蘋果審核,可以正常使用。Github 開源版本暫不可用

二、lua腳本

比如:wax。熱更新時,從服務(wù)器拉去lua腳本,游戲開發(fā)經(jīng)常用到。

忽略

三、Weex

http://weex.apache.org/cn/

https://github.com/apache/incubator-weex/

https://github.com/apache/incubator-weex/

跨平臺,一套代碼,iOS、Android都可以運行。用前端語法實現(xiàn)原生效果。比React Native更好用。weex基于vue.js,ReactNative使用React。ReactNative安裝配置麻煩。 weex安裝cli之后就可以使用。react模板JSX有一定的學(xué)習(xí)成本,vue和常用的web開發(fā)類似,模板是普通的html,數(shù)據(jù)綁定用mustache風(fēng)格,樣式直接使用css。

如果你都是這樣的應(yīng)用就不操心熱更新了

四、React Native

http://reactnative.cn/

不像Weex能一套代碼多端運行,需要自己分別做修改。React Native 可以動態(tài)添加業(yè)務(wù)模塊,但無法做到修改原生OC代碼。JSPatch、lua 配合React Native可以讓一個原生APP時刻處于可擴展可修改的狀態(tài)。

如果你都是這樣的應(yīng)用就不操心熱更新了

五、Hybrid

像PhoneGap之類的框架, 基本概念和web差不多, 通過更新js/html來實現(xiàn)動態(tài)化,沒有原生的效果流暢。

如果你都是這樣的應(yīng)用就不操心熱更新了

六、動態(tài)庫

可以做demo用,真實使用的時候會被蘋果禁止。因為 打包發(fā)到AppStore的ipa安裝包 里的每個動態(tài)庫 都有唯一的編碼,iOS系統(tǒng)會進行驗證,所以動態(tài)通過網(wǎng)絡(luò)獲取 新的動態(tài)庫 也用不了。

可忽略

七、rollout.io

https://rollout.io/

Rollout緊急修復(fù)線上bug。后端有相關(guān)的管理頁面。因為是國外的網(wǎng)站,然后呢,要FQ才能使用。

不建議

八、DynamicCocoa

https://github.com/DynamicCocoa/DynamicCocoa

滴滴iOS的一個框架,還沒開源已經(jīng)有1K+star和許多issue了,與JSPatch比更加智能化,用OC在XCode中寫完代碼,用工具可以自動生成可以更新的js文件。

不知道滴滴為什么不開源應(yīng)該是因為開源會可能有封的風(fēng)險吧.



綜上如果你是企業(yè)賬號那么方案就是JSPatch 1.7.2版本加自己管理補丁,因為他這個平臺超過1萬會收費.但是人家js轉(zhuǎn)OC的代碼轉(zhuǎn)換器都有了開發(fā)成本很低的.

如果你想上APPStore可以使用一些像滴滴的那個思維模式開展的方式,目的就是開發(fā)出一種方式讓自己的項目能識別服務(wù)器下發(fā)的OC代碼規(guī)則可以自己定. 利用蘋果的Aspects 或者餓了么的Stinger來進行開發(fā).


aspects 或者 stinger都可以以切面的方式去hook 到 OC的方法

餓了么的demo里面調(diào)試的時間顯示餓了么的stinger 性能更屌.

這里還有只用OC的語言讓后臺下發(fā)的.只要你自己能有自己的規(guī)則就是可以的,但是開發(fā)的成本要高一點.

如果你是超級簽或者是企業(yè)賬號發(fā)布或者是現(xiàn)在什么TF簽都可以用JSpatch去搞

騰訊的bugly和阿里的熱更新都能搞.阿里的是日活接近一萬才給你接,

騰訊什么的都是收費的阿里的是說可以上架.但是群里好像沒幾個ios的在咨詢.

這個后面可以自己會出一套自己的邏輯寫的簡單版熱更新.

http://blog.csdn.net/hanhailong18/article/details/64443350

關(guān)于類方法調(diào)用 (JSPatch)

http://www.itdecent.cn/p/50fe432eb56b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation


僅做筆記 ~

熱更新原原理篇:

http://www.itdecent.cn/p/ab0919e37f5d

熱更新實用篇

http://www.itdecent.cn/p/076c2af1f6e3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容