最近公司要新增熱修復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上丟,等他自動重啟即可,由此聯想到了老東家遊戲服務的熱載入,所以看了一...