填写您的项目需求给我们
或者直接拨打 7×12小时一对一咨询电话
175 2108 6175
请填写需求信息,我们会在10分钟内与您取得联系
对于开发人员而言,除了要会码代码,热更新也是一定要学会和掌握的技巧,从技术角度来讲,热更新对Android和iOS分别有不同的系统方案,为了让大家更好的了解这两种的区别,今天我们就为大家来简单分析一下。
Andoid端在15年热补丁就比较火,先后出现了Dexposed、AndFix,Qzone超级补丁的类Nuwa方式,微信的Tinker, 大众点评的nuwa、百度金融的rocooFix, 饿了么的amigo以及美团的robust.
从技术角度来说 在iOS 上做到原生动态化比 Android 更容易,iOS 开发语言 Objective-C 天生动态,运行时都能随意替换方法,运行时加载动态库又是项很老的技术,只要我把增量的代码和资源打包到一个 framework 里,动态下发运行时加载,修 bug,加功能都不在话下,性能完全无损,这件事就结束了。
但是苹果把加载动态库的功能给封了,动态库必须跟随安装包一起签名才能被加载,无法通过别的途径签名后再下发。
于是有了 waxPatch 和 JSPatch 这样的方案,以及异军突起不局限于热修复Bug而能做主体功能发布的React Native 和 Weex,后面又有了钓口味的滴滴的DynamicCocoa方案和OCScript
说到这里我们就不得不再说一下热更新的技术原理。
用JAVA来举例。
技术派系:
Native,代表有阿里的Dexposed、AndFix与腾讯的内部方案KKFix;
Java,代表有Qzone的超级补丁、大众点评的nuwa、百度金融的rocooFix, 饿了么的amigo以及美团的robust.
Native流派与Java流派都有着自己的优缺点,它们具体差异大家可参考上文。事实上从来都没有最好的方案,只有最适合自己的。
免费获取App开发解决方案和详细报价单:
电脑请点击https://App.qianyuthink.com/index?uzchAnnel=500
手机请点击https://App.qianyuthink.com/m/quickAddcustom
填写您的项目需求给我们
或者直接拨打 7×12小时一对一咨询电话
175 2108 6175
请填写需求信息,我们会在10分钟内与您取得联系
请认真填写需求信息,我们会在10分钟内与您取得联系