为了增强APP功能,APP允许使用类似微信、钉钉的小程序一样,通过第三方的开发,将文件包上传到服务器后,向APP推送更新,让APP具有在线安装第三方功能的能力
- 小程序允许使用VUE的语法,使用自有的框架进行开发;
- 开发完成后加载到APP的webview环境下运行,在APP环境中,js拥有h5+的接口能力,可以调用APP的原生接口;
- 服务器通过websocket,向APP发送通知,APP根据服务器提供的下载地址下载安装包(zip文件,建议文件不超过256KB,这是为了增强用户体验,下载安装包时不能等待太久);
- 当用户点击了功能菜单时,向服务器请求当前安装包,安装完成并打开;
- 小程序应该支持灰度发布,允许不同用户使用不同的版本;
- 小程序应该有自己的版本管理,每个功能的版本独立管理;
开发方法
- 小程序仍然使用vuex开发,开发完成后构建成html文件,并将它压缩成一个zip文件;
- html可以被浏览器本地加载,加载速度比远程加载快;
- 服务器端返回小程序的列表时,包含:名称、图标、程序包下载地址(一个zip文件),前端使用这个列表显示菜单;
- 当用户点击图标时,通过远程下载程序包,把html解压到本地目录,然后加载html显示界面;
- 如果发现远程的版本和本地的不一致,则重新下载解压覆盖本地文件,这样可以做到静默更新,用户没有感知;
- 如果希望某些用户使用特定版本,服务器端通过设置在接口上针对用户返回不同的程序包下载地址即可;
- 当功能使用小程序模式开发,而PC端无法与APP体验一致时,考虑精简PC功能或者PC通过别的途径实现(注:PC端应注数据管理和设置);
文档更新时间: 2020-02-12 14:12 作者:吴俊源