当前位置 : 主页 > 手机开发 > 其它 >

跨容器Hybrid离线组件方案

来源:互联网 收集:自由互联 发布时间:2021-06-12
关键词:跨容器、Hybrid、离线 如果你还不了解离线和在线有什么区别,请自行查阅其他文档。我这里只会简单的介绍一下从代码层面,而不是离线和在在线的各自优势和区别。先请看图

关键词:跨容器、Hybrid、离线

  如果你还不了解离线和在线有什么区别,请自行查阅其他文档。我这里只会简单的介绍一下从代码层面,而不是离线和在在线的各自优势和区别。先请看图:

左边是 online page , 特点是页面在服务端。每个容器里执行的是同一份代码;并且代码只有在运行时才知道自己在哪个容器中运行。

右边是 offline page , 特点是每个容器都有一份代码在本地,代码是独立的,互不干扰。在编译器就可以知道将要在哪个容器运行。

不同的特点意味着完全不同的思路和方案。

 

思路: 既然编译期便知道自己将来运行在哪个容器,那自然是需要在编译器做点文章。首先,对于不同的容器,waimai也好,nuomi也罢,又或者,手百,携程等,不同容器下的H5页面哪些是相同的,哪些又是不一样的。

我们知道,同一份业务来讲,90%都是一样的,主要很小一部分定制功能首长高攀不起,以及每个容器的jsbridge提供的接口是不一样的。

于是,我们将大部分相同的业务抽离出来。加入了adapter层。

adapter 对业务通过统一的端能力接口,而针对不同的容器具有不同的实现。这样每次新增一个容器的成本便只需要针对容器,重新实现一遍adapter便可快速迁移。

fis3 release waimai :  adapter/waimai + bussiness   =>  waimai bussiness .

其他组件类推。

网友评论