做过开发的小伙伴应该对“热更新”不陌生吧!热更新就是指在游戏或软件更新的时候,不用再重新下载安装包进行安装,而是在启动应用程序的时候,在内部进行资源或代码的更新。那么如今,市场为什么越来越多地选择热更新技术呢?
要知道,发布一个app的新版本,要上架到应用市场是需要审核的。ios应用市场审核很严格,而且审核过程需要一定的时间,android市场也一样,遇到一些节假日甚至会往后延期。因此,对于一些紧急的bug修复以及实时性较强的功能发布(比如运营活动),热更新的方式是更优的选择,这样可以绕过应用市场的审核。
背景是什么
早在2017年,App Store审核团队便针对App Store中“热更新”的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中下架该软件。由于软件热更新绕过了苹果的审核,黑客开发者有可能会通过提交正常的版本之后,通过热更新的方式修改APP导致安全隐患,利用这个“后门”来窃取用户设备中的隐私信息。
与此同时,各行各业的业绩却需要应对千变万化的市场需求背景下加速增长。移动互联网背景下,APP这个主流触达用户的工具,变成为了商家流量竞争的主战场。技术作为业务的市场触达及活跃的保障手段,对于业务应用,尤其是高频引流及活跃的应用需要保持快速迭代更新。基于这个背景,可以说开发者们从未放弃探索及寻找热更新的最优技术解决方案。
App热更新技术方案
市面上App热更新技术方案可归纳为两大类:纯原生(Native)的,以及Hybird(混合开发)模式下的技术方案。
纯原生(Native)的热更新技术解决方案典型的有Dexposed、AndFix、KKFix.....很多且应用也不错,但随着市场上“敏捷开发”,“一端开发,多端上架”等研发概念探索成型并有一些成功实践被广而告之以后,Hybird(混合开发)的移动研发模式便开始流行起来。
因此,我们在本文中重点探讨一下混合式App开发模式下的热更新方案。
混合App开发模式之「Native+小程序」
介绍混合App的热更新方案前,还得先介绍一下混合App开发模式都有哪些。
在微信把小程序带火之前,H5在微信中“漫山遍野”。这些在类似微