CN106020906A - 一种基于Cordova的客户端热更新方法 - Google Patents
一种基于Cordova的客户端热更新方法 Download PDFInfo
- Publication number
- CN106020906A CN106020906A CN201610379476.XA CN201610379476A CN106020906A CN 106020906 A CN106020906 A CN 106020906A CN 201610379476 A CN201610379476 A CN 201610379476A CN 106020906 A CN106020906 A CN 106020906A
- Authority
- CN
- China
- Prior art keywords
- client
- cordova
- resource
- update method
- installation kit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000009434 installation Methods 0.000 claims abstract description 18
- 238000005259 measurement Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 abstract 2
- 238000012423 maintenance Methods 0.000 abstract 1
- 238000012856 packing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 229940004975 interceptor Drugs 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于Cordova的客户端热更新方法,包括以下步骤:(A)在客户端开发阶段新建窗口时,只需要通过配置文件,将窗口类型声明为 NLCordovaWindow;(B)客户端开发完成后,进行发布时将更新升级所需之离线资源打包成安装包;(C)运维发布步骤B中离线资源安装包,升级为新的客户端。本发明为了解决Hybrid App预先离线资源打包,并在无干预的情况下自动完成资源文件的更新升级,提供更佳的用户体验。
Description
技术领域
本发明属于客户端升级领域,具体涉及一种基于Cordova的客户端热更新方法。
背景技术
由于业务需求不断深入,应用的升级频繁,并且有海量用户,如果每次都在用户使应用时,检测并提示用户下载安装包进行安装升级,严重影响用户体验;并且每次升级,服务端都需要提供下载,带宽压力也很大。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于Cordova的客户端热更新方法。
本发明采用的技术方案是:
一种基于Cordova的客户端热更新方法, 包括以下步骤:
(A)在客户端开发阶段新建窗口时,只需要通过配置文件,将窗口类型声明为NLCordovaWindow;
(B)客户端开发完成后,进行发布时将更新升级所需之离线资源打包成安装包;
(C)运维发布步骤B中离线资源安装包,升级为新的客户端。
其中,所述离线资源包括页面文件、图片文件、层叠样式表文件和JavaScript脚本文件。
进一步,所述离线资源还包括域名文件。
所述步骤B中安装包由更新引擎负责:采用版本号控制的更新策略进行新版本资源检测,负责离线下载和维护本地缓存目录中的资源,并将更新过程关键点通过“广播”形式通知到 Web 页面更新。
所述步骤C中安装包由拦截引擎负责:通过拦截所有 Http 请求,然后进行本地化资源匹配,匹配命中则访问被拦截,用本地资源直接替换,否则正常发起Http请求。
本发明的有益效果:
本发明对比传统使用程序自带版本控制,提示用户下载安装升级的方法,如果版本升级频繁并且拥有百万级用户,那么较大影响用户体验。而基于Cordova的客户端热更新方法就是为了解决Hybrid App预先离线资源打包,并在无干预的情况下自动完成资源文件的更新升级,提供更佳的用户体验。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明的流程图;
图2是本发明更新和拦截安装包的流程图。
具体实施方式
本发明基于Cordova, Cordova是一个混合应用 (Hybrid App )的底层开发框架,该底层开发框架具有拦截引擎(Interceptor)、更新引擎(Updater)。
如图1所示,为本发明的一种基于Cordova的客户端热更新方法,包括以下步骤:
(A)在客户端开发阶段新建窗口时,只需要通过配置文件,将窗口类型声明为NLCordovaWindow;而在前端开发过程完全透明,不需要任何特殊处理;
(B)客户端开发完成后,进行发布时将更新升级所需之离线资源打包成安装包(Zip压缩包);其中,所述离线资源包括页面文件、图片文件、层叠样式表文件(Css)和JavaScript脚本文件(Js);
如果业务需求涉及到并且希望离线的域名和资源打包,则按照资源的Url建立“树型结构”目录,再把资源放到相应的子目录下打包;也可以选择“关键”资源文件直接打包到客户端安装包,没有打包到安装包的资源文件,通过配置让客户端后台服务提前发送Http请求下载资源包;
安装包的更新由更新引擎负责:采用版本号控制的更新策略进行新版本资源检测,负责离线下载和维护本地缓存目录中的资源,并将更新过程关键点通过“广播”形式通知到Web 页面更新。
(C)运维发布步骤B中离线资源安装包,升级为新的客户端。
其中,本步骤安装包由拦截引擎负责:通过拦截所有 Http 请求,然后进行本地化资源匹配,匹配命中则访问被拦截,用本地资源直接替换,否则正常发起Http请求。
本发明对比传统使用程序自带版本控制,提示用户下载安装升级的方法,如果版本升级频繁并且拥有百万级用户,那么较大影响用户体验。而基于Cordova的客户端热更新方法就是为了解决Hybrid App预先离线资源打包,并在无干预的情况下自动完成资源文件的更新升级,提供更佳的用户体验。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
Claims (5)
1.一种基于Cordova的客户端热更新方法,其特征在于包括以下步骤:
(A)在客户端开发阶段新建窗口时,只需要通过配置文件,将窗口类型声明为NLCordovaWindow;
(B)客户端开发完成后,进行发布时将更新升级所需之离线资源打包成安装包;
(C)运维发布步骤B中离线资源安装包,升级为新的客户端。
2.根据权利要求1所述的一种基于Cordova的客户端热更新方法,其特征在于: 所述离线资源包括页面文件、图片文件、层叠样式表文件和JavaScript脚本文件。
3.根据权利要求2所述的一种基于Cordova的客户端热更新方法,其特征在于: 所述离线资源还包括域名文件。
4.根据权利要求1所述的一种基于Cordova的客户端热更新方法,其特征在于:所述步骤B中安装包由更新引擎负责:采用版本号控制的更新策略进行新版本资源检测,负责离线下载和维护本地缓存目录中的资源,并将更新过程关键点通过“广播”形式通知到 Web 页面更新。
5.根据权利要求1所述的一种基于Cordova的客户端热更新方法,其特征在于: 所述步骤C中安装包由拦截引擎负责:通过拦截所有 Http 请求,然后进行本地化资源匹配,匹配命中则访问被拦截,用本地资源直接替换,否则正常发起Http请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610379476.XA CN106020906A (zh) | 2016-05-31 | 2016-05-31 | 一种基于Cordova的客户端热更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610379476.XA CN106020906A (zh) | 2016-05-31 | 2016-05-31 | 一种基于Cordova的客户端热更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020906A true CN106020906A (zh) | 2016-10-12 |
Family
ID=57091739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610379476.XA Pending CN106020906A (zh) | 2016-05-31 | 2016-05-31 | 一种基于Cordova的客户端热更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020906A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436780A (zh) * | 2017-06-20 | 2017-12-05 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器更新的方法、装置及电子设备 |
CN107479921A (zh) * | 2017-08-04 | 2017-12-15 | 四川长虹电器股份有限公司 | 移动应用端动态加载WebView的方法 |
CN107608691A (zh) * | 2017-08-18 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
CN110069505A (zh) * | 2017-09-21 | 2019-07-30 | 张锐 | 离线数据处理方法及离线数据更新装置 |
CN110321135A (zh) * | 2019-06-28 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 热修复方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6117187A (en) * | 1997-09-30 | 2000-09-12 | Hewlett-Packard Company | Automatic generation of a software installation package |
CN104111856A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于资源包的软件升级方法和*** |
CN104461491A (zh) * | 2013-09-24 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种Hybrid组件的运行方法和*** |
CN104657118A (zh) * | 2013-11-18 | 2015-05-27 | ***通信集团公司 | Native+Web混合移动应用的实现方法及装置 |
CN105138376A (zh) * | 2015-09-01 | 2015-12-09 | 北京皮尔布莱尼软件有限公司 | 混合模式应用、其网页资源升级方法、移动终端以及*** |
CN105577813A (zh) * | 2015-12-31 | 2016-05-11 | 北京奇艺世纪科技有限公司 | 一种web混合应用的更新方法和*** |
-
2016
- 2016-05-31 CN CN201610379476.XA patent/CN106020906A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6117187A (en) * | 1997-09-30 | 2000-09-12 | Hewlett-Packard Company | Automatic generation of a software installation package |
CN104461491A (zh) * | 2013-09-24 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种Hybrid组件的运行方法和*** |
CN104657118A (zh) * | 2013-11-18 | 2015-05-27 | ***通信集团公司 | Native+Web混合移动应用的实现方法及装置 |
CN104111856A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于资源包的软件升级方法和*** |
CN105138376A (zh) * | 2015-09-01 | 2015-12-09 | 北京皮尔布莱尼软件有限公司 | 混合模式应用、其网页资源升级方法、移动终端以及*** |
CN105577813A (zh) * | 2015-12-31 | 2016-05-11 | 北京奇艺世纪科技有限公司 | 一种web混合应用的更新方法和*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107436780A (zh) * | 2017-06-20 | 2017-12-05 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器更新的方法、装置及电子设备 |
CN107436780B (zh) * | 2017-06-20 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器更新的方法、装置及电子设备 |
CN107479921A (zh) * | 2017-08-04 | 2017-12-15 | 四川长虹电器股份有限公司 | 移动应用端动态加载WebView的方法 |
CN107608691A (zh) * | 2017-08-18 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
WO2019034066A1 (zh) * | 2017-08-18 | 2019-02-21 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
CN110069505A (zh) * | 2017-09-21 | 2019-07-30 | 张锐 | 离线数据处理方法及离线数据更新装置 |
CN110069505B (zh) * | 2017-09-21 | 2021-12-24 | 张锐 | 离线数据处理方法及离线数据更新装置 |
CN110321135A (zh) * | 2019-06-28 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 热修复方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020906A (zh) | 一种基于Cordova的客户端热更新方法 | |
CN103955363B (zh) | 一种程序升级安装包的制作方法 | |
US9536062B2 (en) | Software revalidation and invalidation | |
CN104951360A (zh) | 基于Docker的配置管理方式及装置 | |
CN105786538A (zh) | 基于安卓***的软件升级方法和装置 | |
CN101488173B (zh) | 支持零宕机的可信虚拟域启动文件完整性度量的方法 | |
CN105808273B (zh) | 软件升级方法和软件升级装置 | |
US8332356B2 (en) | NFS agent upgrade | |
JP2015046075A (ja) | 情報処理装置、その制御方法、及びコンピュータプログラム | |
US9699252B2 (en) | Deployment of virtual machine disks from a shared network file system | |
CN102591683A (zh) | 一种嵌入式操作***的更新方法及*** | |
CN103544030A (zh) | 软件升级方法、软件升级***及智能终端 | |
CN105763626A (zh) | 适用于应用客户端支付的sdk初始化方法 | |
CN104461648B (zh) | 一种智能终端ota升级备份的方法及*** | |
CN105279436A (zh) | 软件更新方法及*** | |
CN105389187A (zh) | 一种***更新的方法 | |
CN106897607A (zh) | 一种应用程序监控方法及装置 | |
CN106095835A (zh) | 一种客户端图片四层缓存方法 | |
CN102156650B (zh) | 一种实现补丁自动分析的方法及装置 | |
CN105204910A (zh) | 一种脚本热更新方法和*** | |
CN106776347A (zh) | 一种虚拟化***镜像安装测试***及方法 | |
CN104978222A (zh) | 一种检测***更新的方法及装置 | |
CN102609301B (zh) | 给多个客户端快速部署软件的方法 | |
CN108762773B (zh) | 一种模拟用户登录安装程序的方法 | |
CN103677845A (zh) | 一种网站应用部署方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |