iOS熱更新-8種實現方式


一、JSPatch

熱更新時,從服務器拉去js腳本。理論上可以修改和新建所有的模塊,但是不建議這樣做。

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

 

二、lua腳本

比如: wax。熱更新時,從服務器拉去lua腳本。游戲開發經常用到。

 

三、Weex

跨平台,一套代碼,iOS、Android都可以運行。

weex基於vue.js,ReactNative使用React。

react模板JSX有一定的學習成本,vue和常用的web開發類似,模板是普通的html,數據綁定用mustache風格,樣式直接使用css。

weex是阿里開源的技術。

 

四、React Native

不像Weex能一套代碼多端運行,適配iOS和android需要自己分別做修改。

React Native和Weex都 可以進行熱更新,但都不能修改原生OC代碼。

JSPatch、lua 配合React Native可以讓一個原生APP時刻處於可擴展可修改的狀態。

 

五、Hybrid

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

 

六、動態庫

可以做demo用,真實使用的時候會被蘋果禁止。

因為 打包發到AppStore的ipa安裝包 里的每個動態庫 都有唯一的編碼,iOS系統會進行驗證,所以動態通過網絡獲取 新的動態庫 也用不了。

 

七、rollout.io

Rollout緊急修復線上bug。后端有相關的管理頁面。因為是國外的網站,然后呢,要翻牆才能使用。

 

八、DynamicCocoa

滴滴iOS的一個框架,准備在2017年初開源,與JSPatch比更加智能化,用OC在XCode中寫完代碼,用工具可以自動生成可以更新的js文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM