最近项目用到H Builder开发,从安卓原生开发转到H5,让人产生不少新鲜感,同时感慨下,先不说体验方面(0_0),Html语言的简单易用性确实比基于JAVA的安卓要快捷。var这种弱类型,让你不用纠结于到底要用哪种数据类型定义和接收(我是用上瘾了= =),vue.js基于MVVM的开源框架使H5的开发简洁到极致。基于H5开发,每个模块的实现就可以统一,不用安卓一版,iOS一版,降低了开发成本。官网开放的一些API也很方便,包含一些对原生应用层的封装。今天来聊聊基于H Builder开发的App的差量升级。
官网提供了3种升级方式:
1整包升级
如果你需要新增5+模块时必须用此类更新升级,如果不这样,会导致项目报模块未添加错误。
2 应用资源升级
即wgt升级
3 应用资源差量升级
为了解决没必要的资源更新的升级,只需要添加配置文件,配置从A版本升级到B版本的差异描述,wgtu格式。
看起来这三种升级基本满足了开发者的需求,但是本人在开发过程中遇到了不愉快的升级体验。当我需要升级,但是有些资源文件(尤其是图片)太大,让我考虑用差量升级的时候,我发现,我需要打的差量升级包随着版本号的增多而增多,如果当前版本是第n个版本,那我就需要打n-1个差量升级包wgtu。what if n 特别大?
无奈只能用wgt升级。但是这样又给用户带来了不好的体验,下载大量不必要的资源文件。基于此,本人考虑了一种改进方案解决这样的问题,即自己做个差量升级插件,实现无版本号比对的差量升级,升级包也是压缩资源,可以自定义后缀格式。升级包的内容,除去不需要更新的资源,其他的都包括。但是拿数据说话,项目的其他资源一共也没有图片资源的1/4大。此外,如果图片需要更新,则只需要将对应目录下的图片添加上即可。
思路有了,但是怎么干呢。那就是先捋一遍官网差量升级的思路:
<