【技术实现步骤摘要】
一种应用拆分以及按需加载方法、装置
本申请涉及电子信息领域,尤其涉及一种应用拆分以及按需加载方法、装置。
技术介绍
React-Native(下文简称RN)是Facebook公司于2015年4月开源的跨平台移动应用开发框架,目前支持iOS和安卓两个平台。RN帮助开发者使用JavaScript语言,以及CSS来开发移动应用,并获得与原生应用几乎完全一致的体验。但是,使用RN开发得到的bundle包(bundle包为一个js文件,用于对应用的各种基础信息进行配置,并用于应用的加载)往往很大,例如,一个输出HelloWorld的项目,在没有什么逻辑代码的情况下,使用“react-nativebundle”命令打包后生成的bundle文件的大小约为530kb。倘若只有寥寥数个业务,如此大小的bundle文件大小尚可接受,但随着业务的增多,业务复杂性的上升,文件的体积势必会急剧增大,这对有一定规模的应用而言是不可接受的。而门户类应用相较于一般应用而言,规模更大,包含业务更多,其特点是一个应用中包含多个业务模块的入口,由跨部门、跨区域、甚至跨企业的多团队共同开发,每支团队负责部分模块,可以独立开发和部署。在此情况下,使用RN开发得到的bundle包中,包括应用中的各个模块,即所有业务模块打包成一个应用安装包,热更新升级时也是更新整个安装包,这带来如下缺点:单一模块的功能升级必须连带其它模块一起投产,缺乏灵活性,造成系统不稳定;用户从未点击使用的模块也会随整包下载、加载到内存中,造成流量与内存资源的不必要开销;应用代码量越来越大,逐渐形成牵一发而动全身的大型单体应用,风 ...
【技术保护点】
1.一种应用拆分方法,其特征在于,包括:获取拆分配置文件,所述拆分配置文件包括拆分后的基础模块的名称、业务模块的名称、所述基础模块对应的文件和所述业务模块对应的文件;获取平台指示参数,所述平台指示参数用于指示Android平台或iOS平台;对使用RN得到的应用进行拆分,得到所述基础模块和所述业务模块,所述对使用RN得到的应用进行拆分至少包括:依据所述拆分配置文件和所述平台指示参数,对使用RN得到的应用进行拆分。
【技术特征摘要】
1.一种应用拆分方法,其特征在于,包括:获取拆分配置文件,所述拆分配置文件包括拆分后的基础模块的名称、业务模块的名称、所述基础模块对应的文件和所述业务模块对应的文件;获取平台指示参数,所述平台指示参数用于指示Android平台或iOS平台;对使用RN得到的应用进行拆分,得到所述基础模块和所述业务模块,所述对使用RN得到的应用进行拆分至少包括:依据所述拆分配置文件和所述平台指示参数,对使用RN得到的应用进行拆分。2.根据权利要求1所述的方法,其特征在于,所述基础模块包括:RN框架代码及其依赖模块、和自定义公共模块代码。3.根据权利要求1所述的方法,其特征在于,依据所述平台指示参数,对使用RN得到的应用进行拆分包括:在所述平台指示参数指示Android平台的情况下,使用第一命名规则命名所述基础模块和所述业务模块,并将所述基础模块和所述业务模块所需的静态图片对应存储到目标路径下,所述目标路径为与所述静态图片的分辨率对应的路径;在所述平台指示参数指示iOS平台的情况下,使用第二命名规则命名所述基础模块和所述业务模块,并根据倍图值对所述基础模块和所述业务模块所需的静态图片进行命名。4.根据权利要求1所述的方法,其特征在于,所述对使用RN得到的应用进行拆分还包括:使用js解析工具,按照模块定义和模块调用的固定范式解析得到所述基础模块和所述业务模块之间的调用关系,并根据所述调用关系,给每个模块赋予对应的序号,以便拆分后的模块在运行过程中确定各自依赖的模块。5.根据权利要求1所述的方法,其特征在于,还包括:为所述业务模块分配唯一的标识。6.一种按需加载方法,其特征在于,包括:将基础模块设置为默认启动的模块;在应用启动时,加载所述基础模块;依据用户的点击指令,加载业务模块中被所述用户点击的业务模块;其中,所述基础模块和所述业务模块依据权利要求1至4任一项所述的方法得到。7.根据权利要求6所述的方法,其特征在于,在所述加载业务模块中被所述用户点击的业务模块之前,还包括:查询被所述用户点击的业务模块是否存在更新包,如果是,下载所述更新包;所述加载业务模块中被所述用户点击的业务模块包括:加载被下载的所述更新包。8.一种应用拆分装置,其特征在于,包括:第一获取模块,用于获...
【专利技术属性】
技术研发人员:李蕾,杨炀,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。