CN111562924B - 一种基于ReactNative的分布式移动应用运行系统及应用方法 - Google Patents
一种基于ReactNative的分布式移动应用运行系统及应用方法 Download PDFInfo
- Publication number
- CN111562924B CN111562924B CN201911226936.5A CN201911226936A CN111562924B CN 111562924 B CN111562924 B CN 111562924B CN 201911226936 A CN201911226936 A CN 201911226936A CN 111562924 B CN111562924 B CN 111562924B
- Authority
- CN
- China
- Prior art keywords
- reactnative
- application
- module
- mobile application
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于ReactNative的分布式移动应用运行系统及应用方法,设计将移动应用所对应各个功能的ReactNative模块置于应用运维服务器上,并创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系、置于应用运维服务器上,结合在移动应用启动时所加入同步更新方法,实现移动应用本地功能与应用运维服务器上所存功能之间的同步,并通过从应用运维服务器上针对相应ReactNative模块的下载,在保证移动应用中各功能响应速度的同时,能够有效提高移动应用的更新效率。
Description
技术领域
本发明涉及一种基于ReactNative的分布式移动应用运行系统及应用方法,属于移动应用发布运行技术领域。
背景技术
Native移动应用是指为特定操作系统(android/ios)所开发、能在各自设备上运行的移动应用程序,Native移动应用优点:访问手机所有功能的所有权限,运行速度快、性能高的用户体验,支持大量图形和动画的重新发现,不卡,反应快、比较快捷地使用设备端提供的接口,处理速度上有优势。但是现有Native移动应用同样存在缺陷与不足,其一,开发成本高周期长,Android和iOS都需要单独开发;其二,发布成本高,需要通过store或market的审核,导致更新缓慢。
WebApp是一种框架型APP开发模式(HTML5 APP框架开发模式),具有跨平台的优势,该模式通常由“HTML5 页面 +APP应用客户端”两部分构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。但是这种方式完全依赖于网络,第一次访问页面速度慢,耗费流量;受限于手机和浏览器性能,用户体验相较于其他模式最差;功能受限,大量移动端功能无法实现;强依赖于第三方浏览器,且只能以URL地址的形式存在,导致用户留存率低(优点即缺点)。
发明内容
本发明所要解决的技术问题是提供一种基于ReactNative的分布式移动应用运行系统,设计将移动应用所对应各个功能的ReactNative模块置于应用运维服务器上,在特定时刻进行调取下载,在保证移动应用中各功能响应速度的同时,能够有效提高移动应用的更新效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于ReactNative的分布式移动应用运行系统,用于实现移动装置上ReactNative移动应用的运行,包括应用运维服务器和应用开发构建模块;其中,应用开发构建模块包括项目创建组件和业务上传组件,项目创建组件用于分别针对各ReactNative移动应用、创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系,业务上传组件用于将各ReactNative模块、以及各ReactNative模块分别与相应ReactNative移动应用之间的对应关系,上传至应用运维服务器中进行存储;
ReactNative移动应用内置应用基础功能组件系统,应用基础功能组件系统包括ReactNative业务模块下载更新组件、ReactNative模块渲染组件和ReactNative运行环境容器组件,ReactNative业务模块下载更新组件用于与应用运维服务器进行通信,获取ReactNative移动应用与相应各ReactNative模块之间的对应关系,并据此下载相应各ReactNative模块至移动装置上ReactNative移动应用所对应的本地存储空间进行存储,ReactNative模块渲染组件用于在相应ReactNative模块被调用时、对该ReactNative模块进行渲染操作,ReactNative运行环境容器组件用于针对渲染后的ReactNative模块实现运行。
作为本发明的一种优选技术方案:所述应用运维服务器内置模块存储单元、以及对应关系存储单元,其中,模块存储单元用于存储所述应用开发构建模块中业务上传组件所上传的各ReactNative模块,对应关系存储单元用于存储各ReactNative模块分别与相应ReactNative移动应用之间的对应关系。
作为本发明的一种优选技术方案:所述ReactNative移动应用中的应用基础功能组件系统还包括消息事件分发组件,用于实现ReactNative移动应用中不同事件之间的消息传递。
作为本发明的一种优选技术方案:所述ReactNative移动应用中的应用基础功能组件系统还包括移动应用升级组件,用于实现ReactNative移动应用的整体升级。
作为本发明的一种优选技术方案:所述应用开发构建模块还包括查看组件,用于获取ReactNative移动应用的版本、以及各ReactNative模块的版本。
与上述相对应,本发明还要解决的技术问题是提供一种基于ReactNative的分布式移动应用运行系统的应用方法,通过应用运维服务器对各功能的ReactNative模块的存储,设定同步更新方法,由移动应用及时响应对其的更新、并进行同步下载,在保证移动应用中各功能响应速度的同时,能够有效提高移动应用的更新效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于ReactNative的分布式移动应用运行系统的应用方法,用于实现移动装置上ReactNative移动应用的运行,包括启动同步更新方法,包括如下步骤:
步骤A. 移动装置上的ReactNative移动应用启动、与应用运维服务器建立通信,并进入步骤B;
步骤B. ReactNative移动应用中的ReactNative业务模块下载更新组件与应用运维服务器通信,并请求应用运维服务器中该ReactNative移动应用所对应的各个ReactNative模块对应关系,并进入步骤C;
步骤C. ReactNative业务模块下载更新组件根据所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较,结合由应用运维服务器中下载相应ReactNative模块的方法,实现该ReactNative移动应用所对应本地存储空间中各ReactNative模块、与应用运维服务器中所存储该ReactNative移动应用所对应各ReactNative模块之间的同步。
作为本发明的一种优选技术方案:所述步骤C中,所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较中,包括增量ReactNative模块比较、以及ReactNative模块版本比较。
本发明所述一种基于ReactNative的分布式移动应用运行系统及应用方法,采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所设计基于ReactNative的分布式移动应用运行系统及应用方法,设计将移动应用所对应各个功能的ReactNative模块置于应用运维服务器上,并创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系、置于应用运维服务器上,结合在移动应用启动时所加入同步更新方法,实现移动应用本地功能与应用运维服务器上所存功能之间的同步,并通过从应用运维服务器上针对相应ReactNative模块的下载,在保证移动应用中各功能响应速度的同时,能够有效提高移动应用的更新效率;整个设计实现了团队解耦合,独立开发互不干扰;功能模块可以独立发布、升级、降级、维护;子模块性能近乎原生性能。
附图说明
图1是本发明设计移动应用中应用基础功能组件系统的启动更新示意图;
图2是本发明设计移动应用中功能模块同步更新流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种基于ReactNative的分布式移动应用运行系统,用于实现移动装置上ReactNative移动应用的运行,包括应用运维服务器和应用开发构建模块;其中,应用开发构建模块包括项目创建组件、业务上传组件、查看组件,具体指令如下所示:
项目创建组件用于分别针对各ReactNative移动应用、创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系,业务上传组件用于将各ReactNative模块、以及各ReactNative模块分别与相应ReactNative移动应用之间的对应关系,上传至应用运维服务器中进行存储;查看组件用于获取ReactNative移动应用的版本、以及各ReactNative模块的版本。
对于应用运维服务器来说,在实际的应用中,具体包含了各移动应用的基础信息维护(平台:iOS/Android,包名、基本描述信息、预览截图)、以及分别针对各移动应用的业务功能模块管理(上传、打包、发布、回退操作),即分别针对各移动应用,实现对移动应用各功能分别所对应ReactNative模块的管理,以及对各ReactNative模块分别与相应ReactNative移动应用之间对应关系的管理,对此,进一步具体设计应用运维服务器内置模块存储单元、以及对应关系存储单元,其中,模块存储单元用于存储所述应用开发构建模块中业务上传组件所上传的各ReactNative模块,对应关系存储单元用于存储各ReactNative模块分别与相应ReactNative移动应用之间的对应关系。
ReactNative移动应用内置应用基础功能组件系统,应用基础功能组件系统包括ReactNative业务模块下载更新组件(ReactNative)、ReactNative模块渲染组件、ReactNative运行环境容器组件(RN_Container)、消息事件分发组件(App_Dispatcher)、移动应用升级组件(App_Upgrade),ReactNative业务模块下载更新组件用于与应用运维服务器进行通信,获取ReactNative移动应用与相应各ReactNative模块之间的对应关系,并据此下载相应各ReactNative模块至移动装置上ReactNative移动应用所对应的本地存储空间进行存储,ReactNative模块渲染组件用于在相应ReactNative模块被调用时、对该ReactNative模块进行渲染操作,ReactNative运行环境容器组件用于针对渲染后的ReactNative模块实现运行;消息事件分发组件用于实现ReactNative移动应用中不同事件之间的消息传递;移动应用升级组件用于实现ReactNative移动应用的整体升级。
基于上述所设计分布式移动应用运行系统,本发明进一步设计了应用方法,用于实现移动装置上ReactNative移动应用的运行,包括启动同步更新方法,包括如下步骤A至步骤C。
步骤A. 移动装置上的ReactNative移动应用启动、与应用运维服务器建立通信,并进入步骤B。
步骤B. ReactNative移动应用中的ReactNative业务模块下载更新组件与应用运维服务器通信,并请求应用运维服务器中该ReactNative移动应用所对应的各个ReactNative模块对应关系,并进入步骤C。
步骤C. ReactNative业务模块下载更新组件根据所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较,结合由应用运维服务器中下载相应ReactNative模块的方法,实现该ReactNative移动应用所对应本地存储空间中各ReactNative模块、与应用运维服务器中所存储该ReactNative移动应用所对应各ReactNative模块之间的同步。
实际应用当中,所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较中,包括增量ReactNative模块比较、以及ReactNative模块版本比较,即实现了增量ReactNative模块更新,以及ReactNative模块版本更新。
如此当ReactNative移动应用中某一个功能被触发时,即调用存储在本地存储空间的相应ReactNative模块,并应用ReactNative模块渲染组件对该ReactNative模块进行渲染,最后基于ReactNative运行环境容器组件实现该ReactNative模块的运行,即完成ReactNative移动应用上相应功能的调用。
实际应用中,一个完整的ReactNative移动应用会提前内置最新的应用基础功能组件系统(解决首次移动首次启动无网络或弱网络的情况下app无法启动问题)、以及获取本移动应用功能模块的版本信息 (ios的info.plist/android的string.xml中),如图1所示,ReactNative移动应用冷启动的流程如下:启动优先会将内置在移动应用内部的应用基础功能组件系统通过Pack安装解压到指定的运行目录,解压安装完成后发起获取应用运维服务器中该ReactNative移动应用所对应的最新应用基础功能组件系统,并覆盖ReactNative移动应用的应用基础功能组件系统,与此同时路由组件Navigator会从本地功能模块集中加载主模块来实现首屏幕展示。
对于ReactNative移动应用上的各功能,如图2所示,移动应用启动会从应用运维服务器获取最新的ReactNative模块集并与本地存储模块所存储的ReactNative模块集进行对比,将不是最新的ReactNative模块筛选出来,通过从应用运维服务器上对最新ReactNative模块的下载,实现相应ReactNative模块的更新,这其中就包括增量ReactNative模块更新,即应用运维服务器中比本地存储模块中多的ReactNative模块,通过下载补充的方式进行更新,以及ReactNative模块版本更新,即用新版本的ReactNative模块替换旧版本的ReactNative模块;与此同时该更新操作不影响主UI线程进行可视化展示,当发现主业务模块尚未更新下载完成,主显示线程会从内置在assets目录下寻找对应业务模块进行渲染展示。
上述技术方案所设计基于ReactNative的分布式移动应用运行系统及应用方法,设计将移动应用所对应各个功能的ReactNative模块置于应用运维服务器上,并创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系、置于应用运维服务器上,结合在移动应用启动时所加入同步更新方法,实现移动应用本地功能与应用运维服务器上所存功能之间的同步,并通过从应用运维服务器上针对相应ReactNative模块的下载,在保证移动应用中各功能响应速度的同时,能够有效提高移动应用的更新效率;整个设计实现了团队解耦合,独立开发互不干扰;功能模块可以独立发布、升级、降级、维护;子模块性能近乎原生性能。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (7)
1.一种基于ReactNative的分布式移动应用运行系统,用于实现移动装置上ReactNative移动应用的运行,其特征在于:包括应用运维服务器和应用开发构建模块;其中,应用开发构建模块包括项目创建组件和业务上传组件,项目创建组件用于分别针对各ReactNative移动应用、创建ReactNative移动应用与其各功能分别所对应ReactNative模块之间的对应关系,业务上传组件用于将各ReactNative模块、以及各ReactNative模块分别与相应ReactNative移动应用之间的对应关系,上传至应用运维服务器中进行存储;
ReactNative移动应用内置应用基础功能组件系统,应用基础功能组件系统包括ReactNative业务模块下载更新组件、ReactNative模块渲染组件和ReactNative运行环境容器组件,ReactNative业务模块下载更新组件用于与应用运维服务器进行通信,获取ReactNative移动应用与相应各ReactNative模块之间的对应关系,并据此下载相应各ReactNative模块至移动装置上ReactNative移动应用所对应的本地存储空间进行存储,ReactNative模块渲染组件用于在相应ReactNative模块被调用时、对该ReactNative模块进行渲染操作,ReactNative运行环境容器组件用于针对渲染后的ReactNative模块实现运行。
2.根据权利要求1所述一种基于ReactNative的分布式移动应用运行系统,其特征在于:所述应用运维服务器内置模块存储单元、以及对应关系存储单元,其中,模块存储单元用于存储所述应用开发构建模块中业务上传组件所上传的各ReactNative模块,对应关系存储单元用于存储各ReactNative模块分别与相应ReactNative移动应用之间的对应关系。
3.根据权利要求1所述一种基于ReactNative的分布式移动应用运行系统,其特征在于:所述ReactNative移动应用中的应用基础功能组件系统还包括消息事件分发组件,用于实现ReactNative移动应用中不同事件之间的消息传递。
4.根据权利要求1所述一种基于ReactNative的分布式移动应用运行系统,其特征在于:所述ReactNative移动应用中的应用基础功能组件系统还包括移动应用升级组件,用于实现ReactNative移动应用的整体升级。
5.根据权利要求1所述一种基于ReactNative的分布式移动应用运行系统,其特征在于:所述应用开发构建模块还包括查看组件,用于获取ReactNative移动应用的版本、以及各ReactNative模块的版本。
6.一种基于权利要求1所述一种基于ReactNative的分布式移动应用运行系统的应用方法,其特征在于,用于实现移动装置上ReactNative移动应用的运行,包括启动同步更新方法,包括如下步骤:
步骤A. 移动装置上的ReactNative移动应用启动、与应用运维服务器建立通信,并进入步骤B;
步骤B. ReactNative移动应用中的ReactNative业务模块下载更新组件与应用运维服务器通信,并请求应用运维服务器中该ReactNative移动应用所对应的各个ReactNative模块对应关系,并进入步骤C;
步骤C. ReactNative业务模块下载更新组件根据所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较,结合由应用运维服务器中下载相应ReactNative模块的方法,实现该ReactNative移动应用所对应本地存储空间中各ReactNative模块、与应用运维服务器中所存储该ReactNative移动应用所对应各ReactNative模块之间的同步。
7.根据权利要求6所述一种应用方法,其特征在于:所述步骤C中,所获该ReactNative移动应用所对应各个ReactNative模块对应关系中的ReactNative模块、与该ReactNative移动应用所对应本地存储空间中的各个ReactNative模块进行比较中,包括增量ReactNative模块比较、以及ReactNative模块版本比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911226936.5A CN111562924B (zh) | 2019-12-04 | 2019-12-04 | 一种基于ReactNative的分布式移动应用运行系统及应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911226936.5A CN111562924B (zh) | 2019-12-04 | 2019-12-04 | 一种基于ReactNative的分布式移动应用运行系统及应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111562924A CN111562924A (zh) | 2020-08-21 |
CN111562924B true CN111562924B (zh) | 2022-07-08 |
Family
ID=72074070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911226936.5A Active CN111562924B (zh) | 2019-12-04 | 2019-12-04 | 一种基于ReactNative的分布式移动应用运行系统及应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111562924B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919378A (zh) * | 2016-08-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 基于增量的应用更新和测试方法及系统、服务器及客户端 |
CN108733400A (zh) * | 2018-04-27 | 2018-11-02 | 新光互联投资管理有限公司 | 一种App增量热更新方法及服务系统 |
CN110096295B (zh) * | 2019-05-08 | 2023-08-08 | 吉旗(成都)科技有限公司 | 基于ReactNative的多模块移动应用的热更新方法及系统 |
-
2019
- 2019-12-04 CN CN201911226936.5A patent/CN111562924B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111562924A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2712130C1 (ru) | Способ и устройство обработки файла на основе обновления с патчем, конечное устройство и носитель информации | |
US10282191B2 (en) | Updating web resources | |
WO2017088388A1 (zh) | 应用的sdk的升级方法及系统 | |
US6226739B1 (en) | Method and computer program for distributing software to a personal palm-type device through a global software distribution package transmittable over the world wide web | |
CN102209111B (zh) | 云计算移动网络终端设备开放性跨平台系统 | |
CN104852971B (zh) | 一种插件式协议装置及基于插件式协议的数据通信方法 | |
CN104834541B (zh) | 功能模块挂载方法、挂载系统及更新挂载系统的方法 | |
CN105302563A (zh) | 移动应用服务的插件化方法及系统 | |
CN101621398A (zh) | 客户/服务器系统及其多个客户端自动同步配置的方法 | |
CN102970342A (zh) | 一种基于ota 技术的嵌入式终端自动升级方法 | |
CN104077160A (zh) | 一种升级安卓软件的方法、设备和系统 | |
CN104750528A (zh) | 一种Android程序中的组件管理方法和装置 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN105577813A (zh) | 一种web混合应用的更新方法和系统 | |
CN103716346A (zh) | 一种安卓手机客户端上应用的管理方法和装置 | |
CN104063243A (zh) | 一种应用于智能穿戴设备的应用商店解决方案 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN106230977A (zh) | 一种客户端功能加载方法、系统、客户端和服务端 | |
CN115309500A (zh) | 云上微服务架构应用部署和运维管理方法及系统 | |
CN111338666A (zh) | 一种实现应用程序升级的方法、装置、介质和电子设备 | |
CN109857374B (zh) | 移动应用的开发方法及装置 | |
WO2015117522A1 (zh) | 参数配置的数据处理方法、装置及参数配置方法、装置 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN111562924B (zh) | 一种基于ReactNative的分布式移动应用运行系统及应用方法 | |
CN107025122B (zh) | 一种轻应用接入方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 211100 floor 5, block a, China Merchants high speed rail Plaza project, No. 9, Jiangnan Road, Jiangning District, Nanjing, Jiangsu (South Station area) Applicant after: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. Address before: 211100 No. 18 Zhilan Road, Science Park, Jiangning District, Nanjing City, Jiangsu Province Applicant before: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |