项目已开源到github,链接为:ReactNativeApp,欢迎大家fork,star
上一篇和大家分享了如何在Android 现有App中集成React Native。本篇博客同样是React Native中比较经典的内容:热更新部署。
Android原生App中我们实现热修复有很多种选择:Tinker、hotFix、Qzone的热更新等等。基本的思路都是大同小异的。React Native中的热更新有点像App的版本更新,也就是根据查询server端的版本和手机端目前App的版本进行对比,然后来执行是否更新的操作。根本原因在于React Native的加载启动机制:React Native会将一系列资源打包成js bundle文件,系统加载js bundle文件,解析并渲染。所以,React Native热更新的根本原理就是更换js bundle文件,并重新加载,新的内容就完美的展示出来了。微软为我们提供了CodePush来简化热更新的操作,但是由于速度等原因在国内并没有备受青睐。本篇内容就以自己服务器来更新的方式实现。
一、原理分析
&n

本文介绍了如何在React Native中实现热更新,包括原理分析、功能实现、差异化更新和Android/iOS平台上的热更新。通过自建服务器更新js bundle文件,结合google-diff-match-patch库生成差异补丁包,实现更小体积的更新包。同时,文章还讨论了如何修改React Native源码以支持增量图片更新。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



