美文网首页移动开发
混合APP开发-hybrid 升级流程

混合APP开发-hybrid 升级流程

作者: 网易数帆 | 来源:发表于2018-09-29 11:05 被阅读26次

本文来自网易云社区

作者:王贝

目前大多数APP已经应用hybrid进混合开发,这不,我们的gacha APP这个版本已经开始使用hybrid来开发了,hybrid的优势这里就不多说了,这里主要讲一下hybrid中模块包的升级流程。

服务器要维护一份zip包的版本列表,

apppid表示每个模块的id,唯一

version表示对应模块的版本号,递增的

url表示对应模块包最新版本号的下载地址

MD5表示该包的md5值

ps:每个模块对应一个appid,模块表示app混合html5的子元素,一个模块整合了一个app的一类页面功能,每个模块的目录结构如下:

这里h10001里的资源文件表示一个模块的资源文件,在GACHA APP里这个代表跟帖详情页这个页面功能。

首先要把前端的代码打包成zip包,写了一个自动化打包脚本(待完善),如下:

#切换到项目目录
cd erciyuan_h5
#更新最新代码
git pull
cd src
var=$1
var=${var//,/ }
for element in $var
do
#切换到相应模块目录
cd $element
#执行前端webpack打包命令,在css目录和js目录里分别生成template.css template.js
webpack -p
#向服务器获取当前模块的最新版本号
version=`curl "http://hostname/hybirdVersion?appid=$element"`
echo $version
#生成zip包名
module={element}_version
rm -rf $module
#将前端资源文件打包
mkdir $module
cp -r image $module
mkdir ${module}/js
mkdir ${module}/css
mv css/template.css ${module}/css
mv js/template.js ${module}/js
cp -r image $module
cp template.html $module
zip -r 
module.zip
{module}
#获取zip包的md5值
md5=`md5sum {module}.zip|awk -F ' ' '{print1}'`
echo $md5
#上传zip包至nos
curl -X POST -F "zip=@
module.zip""http://hostname/api/v1/upload/webpack/zip?zipId=
{module}.zip"
#更新服务器包管理列表
curl "http://hostname/hybirdStore?appid=1&module={module}.zip&MD5={md5}&v={version}"
#包备份
cp ${module}.zip /home/hzwangbei/package
#删除本地zip包相关文件
rm -f ${module}.zip
rm -rf ${module}
echo -e "\nstop succeed\nDownload Url: http://acs.nos.netease.com/${module}.zip"
done

zip包生成上传后,app就要去更新了,更新协议如下:

app 首先将本地维护的最新的模块及版本列表上传给服务器,服务器一一对比服务器的zip包版本号,检测到需要更新的zip包,reducer后返回给APP。

app拿到需要更新的zip包模块列表后,下载对应zip包,校验zip包的md5值,校验通过后,解压覆盖掉本地旧的模块,同时更新本地维护的模块版本列表。

大概流程如下:

网易云免费体验馆,0成本体验20+款云产品! 

更多网易研发、产品、运营经验分享请访问网易云社区


相关文章:
【推荐】 分布式存储系统可靠性系列一:如何估算
【推荐】 一个小白的测试环境docker化之路

相关文章

  • 混合APP开发-hybrid 升级流程

    本文来自网易云社区 作者:王贝 目前大多数APP已经应用hybrid进混合开发,这不,我们的gacha APP这个...

  • HyBrid

    来源于:app混合开发的原理与性能 来源于:Hybrid app原理比较 来源于:Hybrid APP混合开发的一...

  • 8个hybrid app开发工具

    8个hybrid app开发工具 Hybrid App(混合模式移动应用)是指介于web-app、native-a...

  • 移动开发技术选型

    1、小程序验证原型商业模式 2、Hybrid app 混合开发 3、react native 混合开发

  • APP混合模式开发方案

    一:混合开发模式的背景 APP的三种开发模式:Native App、 Web App、Hybrid App。 1....

  • Hbuilder和Vue入门

    常用的几种APP开发模式 Hybrid App Hybrid App按网页语言与程序语言的混合,通常分为三种类型:...

  • Hybrid App 框架之Apicloud (白话篇)

    Hybrid App(混合app)就是将原生技术(android,ios)和前端技术结合开发的出来的app,开发成...

  • (一)初识WebView

    知识预热 Hybrid App 混合开发总是被大家提及,什么是混合开发?其实就是原生(nagtive)+网页(ht...

  • HTML5移动web开发

    Web app , Native app 和 Hybrid appHybrid是混合模式开发,介于webapp和n...

  • hybrid app开发工具

    1、AppCan AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid...

网友评论

    本文标题:混合APP开发-hybrid 升级流程

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