vivo web service:亿万级规模web服务引擎架构
admin
2023-02-17 06:40:02
0

本文首发于 vivo互联网技术 微信公众号 
链接:https://mp.weixin.qq.com/s/ovOS0l9U5svlUMfZoYFU9Q

vivo web service是开发团队围绕奇点内核打造出的基于vivo手机平台的web服务引擎,该服务引擎从浏览器产品线中经过多年迭代而出。除了提供可靠的基础Web服务,服务引擎还集成了非常强大的扩展功能。本文从架构方面对该服务引擎进行一次简单剖析,帮助读者对vivo web service有一个整体了解。

1. 奇点内核

在多年的浏览器开发工作中,开发团队逐渐迭代出一款有竞争力的内核产品–奇点内核。从架构上讲奇点内核已经不是一款单纯的系统 WebView 替代产品,它集成了丰富的扩展功能,同时具备高性能、稳定性强的特点。

奇点内核架构示意图

vivo web service:亿万级规模web服务引擎架构

这么丰富的功能如果仅提供给浏览器使用,无疑是大材小用了。

我们举几个例子:

  • 深色模式。这是最近非常火热的功能。然而,从Android Q开始系统WebView才逐渐支持深色模式。这对于在无法升级到Q版本的Android平台的开发者来说,仅使用系统WebView来实现类似的效果,无疑是巨大的挑战。幸运的是,使用奇点内核可以轻松的获取比系统WebView更好的深色模式效果,同时支持按需调整样式,这应该是应用开发者的巨大福音了。

  • 稳定性。系统WebView的崩溃率数据约为0.4%左右,奇点内核在更加复杂的浏览器环境中运行,崩溃率基本保持在0.05%以下,这对长期苦于系统WebView稳定性差问题的应用有很大吸引力。

  • 兼容性。奇点内核提供全平台的兼容能力,使用同样的API应用可以做到全平台上返回同样的执行结果,而不需要考虑Android版本的兼容性问题,节省接入方的开发和维护的工作量。

  • 安全性。基于快速迭代的能力,开发团队能够在第一时间修复WebView暴露的各种风险和漏洞,同时通过数据加密、防劫持等手段提高了Web访问的安全性,这是系统WebView做不到的。

2.vivo web service

以上优势,对于关注相关点的应用已经有足够的吸引力了。更进一步,在奇点内核的基础上我们将浏览器和部门的其他技术资源整合起来,构建了一个围绕奇点内核的服务平台,我们称为vivo web service。

web service apk架构示意图

vivo web service:亿万级规模web服务引擎架构

其中:

  • 奇点内核以WebView的形式提供出来, API与系统WebView保持一致。

  • 作为奇点内核的后备,Web服务平台提供动态切换奇点WebView到系统WebView的能力。

  • 通过奇点内核,还可以有条件的使用到云端代理(省流加速、内容转码等)、HTTP DNS防劫持能力。

  • web service可以提供JSBridge、J2V8等扩展能力。

  • web service可以提供强大的奇点Player,这款自主研发的播放器在播放速度和稳定性方面远超系统提供的MediaPlayer。

我们将以上资源整合后,以奇点内核为核心提供出一套web service sdk出来供接入方使用。由于使用插件化技术,接入方仅需接入200多K的sdk,就可以使用到上述这些功能。

3.vivo web service架构

在vivo手机平台上,各个应用使用web service的架构示意图,图中展示了各应用通过sdk可以获取到的web service的各种服务。

注意,这个图仅表示应用间的依赖关系,并非类似于Android平台的层次架构图。web service目前并不是系统framework的一部分,它与其他应用没有区别,就是普通的app而已。

web service架构示意图

vivo web service:亿万级规模web服务引擎架构

4.vivo web service技术原理

前面提到,web service的实现方式是插件化,由sdk和apk两部分构成。接入方通过sdk动态加载web service apk,每个应用在自己的进程空间中使用独自的web service,互不干扰。

应用动态加载web service apk示意图

vivo web service:亿万级规模web服务引擎架构

其中:

  • web service apk提前被安装到系统中,或者由应用按需下载安装。

  • 应用在使用web service之前使用sdk接口将apk中的类实现动态加载到自己的进程中,就可以使用服务。

  • 应用可以通过API开启或者关闭某些服务,也可以通过服务器配置,每个应用的配置互不干扰。

  • apk可以通过应用商店进行更新,更新后应用下次启动立刻可以使用到apk的最新特性。

  • apk支持自升级,可以通过服务器配置是否强制升级为最新版本,作为紧急问题修复的兜底方案。

5.vivo web service未来演进

随着web service的迭代,未来的功能会更加丰富。目前来看,web service可能向以下的几个方向演进。

  • 提供更强大的Web能力。Web能力的提供者是内核,未来我们会通过定期的升级内核,并持续的进行性能和稳定性优化来强化内核能力。

  • 提供更多的扩展功能。未来web service会开发和引入更多、更强大的组件或服务,这些组件或服务依托于Web服务,为接入方提供更多的可选择性。

  • 提供更简洁的接入方式。未来web service中的奇点内核会成为系统的默认webview。第三方应用甚至不需要修改代码,就能使用上web service服务。依托于vivo强大的手机平台优势,web service会有更大的想象空间。

平台应用使用vivo web service示意图

vivo web service:亿万级规模web服务引擎架构

相关内容

热门资讯

巴拿马外长喊话访华团:尊重中国... 【文/观察者网 柳白】据香港英文媒体《南华早报》报道,数名巴拿马议员组成的代表团抵达中国访问之际,巴...
华帝燃气灶自动熄火什么原因 原因:热敏针出现故障,检查灶眼,看中间的火焰能不能烧到探针,烧到探针才能定住火,在点火的时候,长按几...
燃气灶一直打火滴滴响然后熄火 原因可能是在刚打开的时候马上熄火了,这种情况比较复杂,建议首先检查燃气灶出火的地方是否堵塞,对出火口...
煤气灶一直打火嗒嗒嗒响怎么修理 问题:煤气灶一直打火嗒嗒嗒响怎么修理回答:1、有时候煤气灶的电路出现了接触不良,就会导致在使用过程当...
天然气灶打不着火一直滴滴响 1、没有燃气,在碰到天然气灶打不着火时,首先要查看是否还有燃气。2、电池没电,发现点不着火而且没有哒...
燃气打不着火一直滋滋响就是不着 点火针位置不正确,只要调整点火针就可以了。托起燃气灶拧开镙丝钉,打开密封盖,揭起钢化玻璃面板。安装上...
亲绿民调中柯志恩追近13%,蓝... 海峡导报综合报道 岛内亲绿媒体5日公布高雄市长选举民调,民进党民代赖瑞隆以47%支持度暂时领先国民党...
拒绝美国干涉,巴拿马议员抵华交... “我们是一个自由且拥有主权的国家……我们想去哪里,就去哪里。”正在中国访问的巴拿马民主革命党议员哈伊...
高市下跪了,但更值得警惕 我相信,中国、韩国等很多亚洲国家的朋友,看到这一幕,心头翻涌的不是感慨,更多是气愤。日本首相高市早苗...
万邦德重磅创新药再获突破! 斩... 5月5日,万邦德(002082)在研创新药传出重磅利好,全资子公司万邦德制药集团有限公司(下称“万邦...