iOS熱更新實現方式

2021-08-13 21:53:59 字數 1140 閱讀 1085

最近公司要新增熱修復bug,其實早之前本人就有簡單實現過,剛好契合公司需求,在此總結一下ios熱更新實現方式

這個是我根據jspatch寫的乙個demo:

一、jspatch

熱更新時,從伺服器拉去js指令碼。理論上可以修改和新建所有的模組,但是不建議這樣做。

建議用來做緊急的小需求和 修復嚴重的線上bug。

二、lua指令碼
比如:wax。熱更新時,從伺服器拉去lua指令碼,遊戲開發經常用到。
三、weex

跨平台,一套**,ios、android都可以執行。用前端語法實現原生效果。比react native更好用。

weex基於vue.js,reactnative使用react。

reactnative安裝配置麻煩。 weex安裝cli之後就可以使用。

react模板jsx有一定的學習成本,vue和常用的web開發類似,模板是普通的html,

資料繫結用mustache風格,樣式直接使用css。

四、react native

不像weex能一套**多端執行,需要自己分別做修改。

react native 可以動態新增業務模組,但無法做到修改原生oc**。

五、hybrid
像phonegap之類的框架, 基本概念和web差不多, 通過更新js/html來實現動態化,沒有原生的效果流暢。
六、動態庫
可以做demo用,真實使用的時候會被蘋果禁止。
七、rollout.io

rollout緊急修復線上bug。後端有相關的管理頁面。因為是國外的**,然後呢,要fq才能使用。
八、dynamiccocoa

滴滴ios的乙個框架,還沒開源已經有1k+star和許多issue了,與jspatch比更加智慧型化,用oc在xcode中寫完**,用工具可以自動生成可以更新的js檔案。

iOS熱更新實現方式

這個是我根據jspatch寫的乙個demo github.com tikeyc tjsp 一 jspatch 熱更新時,從伺服器拉去js指令碼。理論上可以修改和新建所有的模組,但是不建議這樣做。建議用來做緊急的小需求和 修復嚴重的線上bug。複製 二 lua指令碼比如 wax。熱更新時,從伺服器拉去...

iOS 熱更新8種實現方式

熱更新時,從伺服器拉去js指令碼。理論上可以修改和新建所有的模組,但是不建議這樣做。建議 用來做緊急的小需求和 修復嚴重的線上bug。比如 wax。熱更新時,從伺服器拉去lua指令碼。遊戲開發經常用到。跨平台,一套 ios android都可以執行。用前端語法實現原生效果。比react native...

golang實現熱更新的常規方式

去年寫了乙個agent的程式,用於收集生產伺服器的一些資料,以及對應的一些自動化操作等,寫完之後經常要修修改改加一些新功能,產線伺服器數量就很多,導致了每次更新都是個大動作,目前的做法是通過puppet管理,新版本就往puppet上丟,等他自動重啟即可,由此聯想到了老東家遊戲服務的熱載入,所以看了一...