iOS 拥有自己的热更新
2018-12-09 本文已影响23人
jobs_chen
闲来喝茶,和朋友聊到热更新。JSPatch在今年6月份被叫停,然而微信的小程序,滴滴app都在用热更新的相关技术,他们是怎么做到的呢。接下来我们一探究竟。
在iOS7之后,苹果开源了JavaScriptCore,极大方便了开发oc和js的交互,这意味着在oc代码里面可以写js的代码了,关键是这给研究及时修复技术带来了福音,我们可以做好多事了!
iOS里游戏里面的更新,或者插件更新,或者12306APP,打开APP有更新的时候会提示您更新,它是怎么做到的呢,对于新技术我们需要保持好奇心和持续的专研精神。那么热更新的原理是什么呢。更新的源码都在服务器上,客户端发起请求更新时,服务期以字符串的形式下发,客户端接收完源码,需要JavaScriptCore的解析成js的代码,然后通过lua等类似的解析器,把js代码转化成oc代码,至此完成源码的更新。
JSPatch是怎么被苹果检测出来的呢,苹果检测编译的程序编译的片段,与JSPatch编译的源码比较,如果有高度相似的片段,则认为app使用了JSPatch。
我们怎么自定义自己的热更新。
阿里出的框架weex
React Native