React Native热更新

作者: FlyOceanFish | 来源:发表于2017-12-08 15:44 被阅读242次

    介绍

    笔者这些天一直在写一个比较复杂的React Native联系项目,也将近接近尾声了。之前也写过一个FlyOceanMovies,但是相对来说比较简单吧。所以这次挑了一个很复杂的项目又写了一个。不过本文的目的不是这个项目的总结,之后会单独写一篇文章来做总结。这篇文章是来介绍React Native热更新的。个人博客

    大家都知道React Native最大的优点就是能够同时兼容Android、iOS两个平台,不过它还有一个比较明显的有点就是能够热更新。那如何实现RN的热更新呢?

    市面上也有比较成熟的热更新服务MicroSoft CodePushReact Native中文网 pushy,不过很多时候公司可能要搭建自己的热更新服务器,毕竟将代码和控制器放到他人服务器上可控性等方面都不是很好。笔者研究总结了以下个比较成熟的方案。

    热更新方案

    全量热更新

    这个热更新实现起来比较简单,省时省力。


    流程.png

    增量热更新

    实现起来比较复杂,省流量,用户体验会更好

    搭建自己的codepush服务器

    其实就是在自己服务器上搭建一套codepush系统,这样比较简单也省事。除了服务器地址与微软的不一样,其他的完全一样。

    增量热更新(通过算法比较生成补丁)

    1、服务端使用bsdiff算法将老RN包和新RN包生成一个补丁patch文件,供客户端下载。

    2、客户端下载patch文件,使用将补丁patch文件和老RN包生成一个新RN包。


    增量更新流程.png

    这个算法是通过文本进行比较支持的语言非常多

    是c语言写的一个工具,比较的是二进制文件

    二者比较图:

    比较图.png

    参考文章

    相关文章

      网友评论

        本文标题:React Native热更新

        本文链接:https://www.haomeiwen.com/subject/birrbxtx.html