一种基于ReactNative的热更新方法及系统技术方案

技术编号:32488962 阅读:50 留言:0更新日期:2022-03-02 09:54
本发明专利技术涉及计算机网络技术领域,更具体的说,涉及一种基于React Native的热更新方法及系统。本发明专利技术提供的基于React Native的热更新方法,包括:服务端热更新加载步骤,添加应用程序版本信息作为基线版本;根据基线版本配置基线包;根据基线版本配置差量包,配置热更新策略规则,上传更新的bundle资源文件;将基线包与差量包的bundle资源文件进行对比,生成差量补丁文件;客户端热更新加载步骤,加载本地bundle资源文件;获取差量补丁文件;对本地bundle资源文件和差量补丁文件进行合并,作为更新的bundle资源文件离线包;加载更新的bundle资源文件离线包。本发明专利技术在用户无感知情况下,对应用程序进行分类热更新,不依赖环境和硬件,操作简易化,开发维护成本低。开发维护成本低。开发维护成本低。

【技术实现步骤摘要】
一种基于React Native的热更新方法及系统


[0001]本专利技术涉及计算机网络
,更具体的说,涉及一种基于React Native的热更新方法及系统。

技术介绍

[0002]热更新是一种APP(应用程序)软件开发者常用的更新方式。简单来说,就是在用户通下载安装APP之后,打开APP时遇到的即时更新。
[0003]React Native是一个混合移动应用开发框架,是一个基于Web的交互界面的JavaScript库,能够调用APP底层框架。
[0004]目前,比较成熟的热更新技术是通过微软搭建好的CodePush服务实现React Native应用的热更新。用户通过CodePush创建和维护热更新应用。
[0005]服务端使用CodePush服务,配置APP信息。安装App Center CLI,用于服务端信息管理。App Center CLI是应用中心命令行界面(CLI),是用于从命令行运行App Center服务的统一工具,用来管理CodePush功能的命令工具。需要用到App Center CLI中的命令来创建应用和部署热更新服务,热更新服务部署成功之后生成记下部署码,之后在客户端里面配置部署码。
[0006]客户端方面安装套件react

native

code

push,配置部署码,获取远程服务端的热更新包。react

native

code

push是一微软开发维护的个开源插件,用于React Native客户端集成,客户端通过该插件实现下载热更包。
[0007]配置完服务端和客户端之后,使用release

reactApp Center CLI中的推送命令,将JavaScript文件、资源文件等更新发布到CodePush服务器。
[0008]上述微软推出的CodePush热更新服务存在以下问题:
[0009]1)依据用户的应用被下载次数进行收费的,会造成热更新成本的提升;
[0010]2)通过脚本命令执行热更新,操作困难,学习成本比较高;
[0011]3)React Native资源放置在第三方服务上,资源和代码安全性没有保障。
[0012]基于以上缺点,目前亟需一种不同于微软的CodePush服务的基于React Native的热更新方法。

技术实现思路

[0013]本专利技术的目的是提供一种基于React Native的热更新方法及系统,解决现有技术的React Native热更新方法形式单一、操作困难、成本较高的问题。
[0014]为了实现上述目的,本专利技术提供了一种基于React Native的热更新方法,包括以下步骤:
[0015]服务端热更新加载步骤,添加应用程序版本信息作为基线版本;根据基线版本配置基线包,提交原生bundle资源文件;根据基线版本配置差量包,配置热更新策略规则,根据服务端热更新策略规则上传更新的bundle资源文件;将基线包与差量包的bundle资源文
件进行对比,生成差量补丁文件;
[0016]客户端热更新加载步骤,加载本地bundle资源文件;通过API接口获取差量补丁文件;对本地bundle资源文件和差量补丁文件进行合并,存储到应用缓存目录,作为更新的bundle资源文件离线包;根据客户端热更新策略规则加载更新的bundle资源文件离线包。
[0017]在一实施例中,所述服务端,新建应用程序,指定应用程序的应用名、包名和所属平台。
[0018]在一实施例中,所述应用程序版本信息包括应用程序的应用名、包名、版本号和build号。
[0019]在一实施例中,所述服务端热更新策略规则包括:
[0020]配置自定义字段信息作为灰度规则,选取部分用户的客户端热更新,所述自定义字段信息包括设备号或者版本号等。
[0021]在一实施例中,所述服务端热更新策略规则包括:
[0022]立即更新,立即上传更新的bundle资源文件;以及
[0023]选择下次更新,下次启动再上传更新的bundle资源文件。
[0024]在一实施例中,所述服务端将差量补丁文件压缩后放至数据库供客户端获取。
[0025]在一实施例中,所述客户端,在后台使用异步线程获取差量补丁文件。
[0026]在一实施例中,所述客户端,通过google

diff

match

patch算法将差量补丁文件和本地bundle资源文件进行合并。
[0027]在一实施例中,所述客户端,上传自身的自定义字段信息至服务端。
[0028]在一实施例中,所述客户端热更新策略规则包括:
[0029]立即加载更新的bundle资源文件离线包,刷新当前页面;以及
[0030]下次启动再加载更新的bundle资源文件离线包。
[0031]为了实现上述目的,本专利技术提供了一种基于React Native的热更新系统,包括服务端和客户端:
[0032]所述服务端,添加应用程序版本信息作为基线版本;根据基线版本配置基线包,提交原生bundle资源文件;根据基线版本配置差量包,配置热更新策略规则,根据服务端热更新策略规则上传更新的bundle资源文件;将基线包与差量包的bundle资源文件进行对比,生成差量补丁文件;
[0033]所述客户端,加载本地bundle资源文件;通过API接口获取差量补丁文件;对本地bundle资源文件和差量补丁文件进行合并,存储到应用缓存目录,作为更新的bundle资源文件离线包;根据客户端热更新策略规则加载更新的bundle资源文件离线包。
[0034]在一实施例中,所述服务端,新建应用程序,指定应用程序的应用名、包名和所属平台;
[0035]所述应用程序版本信息包括应用程序的应用名、包名、版本号和build号。
[0036]在一实施例中,所述服务端热更新策略规则包括:
[0037]立即更新,立即上传更新的bundle资源文件;以及
[0038]选择下次更新,下次启动再上传更新的bundle资源文件;
[0039]所述客户端热更新策略规则包括:
[0040]立即加载更新的bundle资源文件离线包,刷新当前页面;以及
[0041]下次启动再加载更新的bundle资源文件离线包。
[0042]在一实施例中,所述客户端,在后台使用异步线程获取差量补丁文件。
[0043]本专利技术提供的一种基于React Native的热更新方法及系统,在用户无感知情况下,通过版本信息与基线包的对应关系,对应用程序进行分类热更新,不依赖环境和硬件,操作简易化,开发维护成本低。
附图说明
[0044]本专利技术上述的以及其他的特征、性质和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于React Native的热更新方法,其特征在于,包括以下步骤:服务端热更新加载步骤,添加应用程序版本信息作为基线版本;根据基线版本配置基线包,提交原生bundle资源文件;根据基线版本配置差量包,配置热更新策略规则,根据服务端热更新策略规则上传更新的bundle资源文件;将基线包与差量包的bundle资源文件进行对比,生成差量补丁文件;客户端热更新加载步骤,加载本地bundle资源文件;获取差量补丁文件;对本地bundle资源文件和差量补丁文件进行合并,存储到应用缓存目录,作为更新的bundle资源文件离线包;根据客户端热更新策略规则加载更新的bundle资源文件离线包。2.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述服务端,新建应用程序,指定应用程序的应用名、包名和所属平台。3.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述应用程序版本信息包括应用程序的应用名、包名、版本号和build号。4.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述服务端热更新策略规则包括:立即更新,立即上传更新的bundle资源文件;以及选择下次更新,下次启动再上传更新的bundle资源文件。5.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述服务端将差量补丁文件压缩后放至数据库供客户端获取。6.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述客户端,在后台使用异步线程获取差量补丁文件。7.根据权利要求1所述的基于React Native的热更新方法,其特征在于,所述客户端,通过google

diff

match

patch算法...

【专利技术属性】
技术研发人员:周晔穆海洁仝彦彦曹闻达黄超杨仑祁东波
申请(专利权)人:上海汇付数据服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1