iOS熱更新實現方式

heart.jpg

蘋果靜止熱更新,惋惜個人是企業APP...(固然有些熱更新已經能夠經過蘋果審覈了,好比JSPatch) 最近公司要添加熱修復BUG,其實早以前本人就有簡單實現過,恰好契合公司需求,在此總結一下iOS熱更新實現方式css

這個是我根據JSPatch寫的一個Demo:github.com/tikeyc/TJSP…html

1、JSPatch

www.jspatch.com/前端

github.com/bang590/JSP…vue

熱更新時,從服務器拉去js腳本。理論上能夠修改和新建全部的模塊,可是不建議這樣作。

建議用來作緊急的小需求和 修復嚴重的線上bug。
複製代碼

2、lua腳本

好比:wax。熱更新時,從服務器拉去lua腳本,遊戲開發常常用到。
複製代碼

3、Weex

weex.apache.org/cn/react

github.com/apache/incu…git

github.com/apache/incu…github

跨平臺,一套代碼,iOS、Android均可以運行。用前端語法實現原生效果。比React Native更好用。

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

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

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

4、React Native

reactnative.cn/web

不像Weex能一套代碼多端運行,須要本身分別作修改。

React Native 能夠動態添加業務模塊,但沒法作到修改原生OC代碼。

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

5、Hybrid

像PhoneGap之類的框架, 基本概念和web差很少, 經過更新js/html來實現動態化,沒有原生的效果流暢。
複製代碼

6、動態庫

能夠作demo用,真實使用的時候會被蘋果禁止。

由於 打包發到AppStore的ipa安裝包 裏的每一個動態庫 都有惟一的編碼,iOS系統會進行驗證,
因此動態經過網絡獲取 新的動態庫 也用不了。
複製代碼

7、rollout.io

rollout.io/apache

Rollout緊急修復線上bug。後端有相關的管理頁面。由於是國外的網站,而後呢,要FQ才能使用。
複製代碼

8、DynamicCocoa

github.com/DynamicCoco…後端

滴滴iOS的一個框架,還沒開源已經有1K+star和許多issue了,
與JSPatch比更加智能化,用OC在XCode中寫完代碼,用工具能夠自動生成能夠更新的js文件。
複製代碼
相關文章
相關標籤/搜索