跳到主要内容

hybird常识

hybird是什么,为什么要用hybird

hybird也就是混合的意思,指的是客户端和前端开发的混合APP,也需要服务器进行配合。 在当今,因为APP上架之后需要审核,审核的周期太慢,但是业务的发展是快的, 所以需要一种方案能够不需要审核就能直接更新APP的界面,也就是hybird, 如果能比对手早一个小时更新界面那么就能超过对手一大截,核心意义就是无需审核,快速迭代。

hybird的更新和上线流程

首先,说一下上线,就是上传到应用商场进行审核就行, 更新, 在首先,在客户端APP(原生)需要先把HTML,CSS,JS的静态资源保存到自己客户端的静态文件夹下面, 然后使用webview.通过file协议加载这些文件进行展示,

在服务端,需要有一个静态资源文件,也就是HTML,CSS,JS这些资源的一个版本管理, 一般是把这些资源都压缩为一个zip包,并备注具体的版本, 在客户端打开的时候,进行请求服务器的最新的版本,如果这最新的版本号大于本地的客户端APP的版本号, 那么把最新的Zip给下载下来,然后进行解压覆盖静态资源文件, 然后把本地的静态资源版本号给修改为对应的最新的版本号, 这样子当加载的对应页面的时候,就是最新的界面了

hybird和h5的区别

hybird和h5的区别就是,hybird更适合产品型的APP,体验高,且更新频繁,但是开发有点繁琐,

H5是开发简单,更适合运营型的APP,或者一次性的,比如一些举报页面等等

前端JS和客户端如何通信

通信使用schema协议,

首先,客户端点击的某一个新闻的时候,先获取该详情的内容,这时候暂存起来, 然后进去这个详情页面之后,JS得到执行,

JS会需要创建一个回调函数,用来进行渲染DOM操作,比如是renderCart JS先创建一个iframe标签,然后给iframe的样式设为隐藏,接着设置iframesrc值, 其中这src的值需使用schema协议进行访问客户端,比如myapp://list/?a=1&b=2&callback=renderCart 然后客户端监听到之后,执行对应的callback函数,并把实参传给renderCart, 这时候JS的函数就得到了执行,同时就把数据渲染到了页面上面 客户端获取新闻内容,然后 JS 通讯拿到内容,再渲染

混合开发的流程图