javascript
JSPatch使用篇
ios端熱更新方案:
1.動態(tài)庫,測試用,真實(shí)使用的話會被蘋果禁止.
2.lua腳本
比如:wax,熱更新時(shí)從服務(wù)器拉取lua腳本,游戲開發(fā)用的比較多
3.weex
跨平臺,一套代碼,兩端運(yùn)行,用前段語言實(shí)現(xiàn)原生效果.
4.React Native
不能像weex能一套代碼多端運(yùn)行,有些代碼需要2端分別編寫
其中熱更新有pushy/codepush
5.hybrid
比如ionci等基于PhoneGap之類的框架,基本和web差不多,通過js/html實(shí)現(xiàn)
6.JSPatch
熱更新時(shí),從服務(wù)器拉去js腳本。理論上可以修改和新建所有的模塊,但是不建議這樣做。
建議 用來做緊急的小需求和 修復(fù)嚴(yán)重的線上bug。
7、DynamicCocoa
滴滴iOS的一個(gè)框架,準(zhǔn)備在2017年初開源,與JSPatch比更加智能化,用OC在XCode中寫完代碼,用工具可以自動生成可以更新的js文件。
本文時(shí)基于JSPatch實(shí)現(xiàn)的ios端熱更新demo
官網(wǎng)https://jspatch.com/Docs/monitor
git:https://github.com/bang590/JSPatch/wiki/JSPatch-基礎(chǔ)用法
理論:jspatch,利用js文件調(diào)用原生,將js文件上傳到服務(wù)器,每次打開應(yīng)用自動從服務(wù)器拉取最新的js腳步文件
下載jspathSDK
然后添加依賴庫
JavaScriptCore.framework
libz.tbd
然后在appdelegate中初始化
代碼
數(shù)組越界錯(cuò)誤
mian.js文件代碼(這個(gè)就是jspatch核心來 用它來調(diào)用oc)
defineClass("ViewController",{errErray:function() {self.setErrorArray(["1","2","3","4"])var str = self.ErrorArray().objectAtIndex(2)console.log('JSPatch調(diào)用')}});總結(jié)
以上是生活随笔為你收集整理的JSPatch使用篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超通俗易懂的Servlet入门教程
- 下一篇: JSPatch实现原理一览