溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

發(fā)布時(shí)間:2020-07-06 02:49:16 來源:網(wǎng)絡(luò) 閱讀:234 作者:vivo互聯(lián)網(wǎng) 欄目:開發(fā)技術(shù)

本文首發(fā)于 vivo互聯(lián)網(wǎng)技術(shù) 微信公眾號(hào)?
鏈接:https://mp.weixin.qq.com/s/ovOS0l9U5svlUMfZoYFU9Q

vivo web service是開發(fā)團(tuán)隊(duì)圍繞奇點(diǎn)內(nèi)核打造出的基于vivo手機(jī)平臺(tái)的web服務(wù)引擎,該服務(wù)引擎從瀏覽器產(chǎn)品線中經(jīng)過多年迭代而出。除了提供可靠的基礎(chǔ)Web服務(wù),服務(wù)引擎還集成了非常強(qiáng)大的擴(kuò)展功能。本文從架構(gòu)方面對(duì)該服務(wù)引擎進(jìn)行一次簡(jiǎn)單剖析,幫助讀者對(duì)vivo web service有一個(gè)整體了解。

1. 奇點(diǎn)內(nèi)核

在多年的瀏覽器開發(fā)工作中,開發(fā)團(tuán)隊(duì)逐漸迭代出一款有競(jìng)爭(zhēng)力的內(nèi)核產(chǎn)品–奇點(diǎn)內(nèi)核。從架構(gòu)上講奇點(diǎn)內(nèi)核已經(jīng)不是一款單純的系統(tǒng) WebView 替代產(chǎn)品,它集成了豐富的擴(kuò)展功能,同時(shí)具備高性能、穩(wěn)定性強(qiáng)的特點(diǎn)。

奇點(diǎn)內(nèi)核架構(gòu)示意圖

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

這么豐富的功能如果僅提供給瀏覽器使用,無疑是大材小用了。

我們舉幾個(gè)例子:

  • 深色模式。這是最近非?;馃岬墓δ?。然而,從Android Q開始系統(tǒng)WebView才逐漸支持深色模式。這對(duì)于在無法升級(jí)到Q版本的Android平臺(tái)的開發(fā)者來說,僅使用系統(tǒng)WebView來實(shí)現(xiàn)類似的效果,無疑是巨大的挑戰(zhàn)。幸運(yùn)的是,使用奇點(diǎn)內(nèi)核可以輕松的獲取比系統(tǒng)WebView更好的深色模式效果,同時(shí)支持按需調(diào)整樣式,這應(yīng)該是應(yīng)用開發(fā)者的巨大福音了。

  • 穩(wěn)定性。系統(tǒng)WebView的崩潰率數(shù)據(jù)約為0.4%左右,奇點(diǎn)內(nèi)核在更加復(fù)雜的瀏覽器環(huán)境中運(yùn)行,崩潰率基本保持在0.05%以下,這對(duì)長(zhǎng)期苦于系統(tǒng)WebView穩(wěn)定性差問題的應(yīng)用有很大吸引力。

  • 兼容性。奇點(diǎn)內(nèi)核提供全平臺(tái)的兼容能力,使用同樣的API應(yīng)用可以做到全平臺(tái)上返回同樣的執(zhí)行結(jié)果,而不需要考慮Android版本的兼容性問題,節(jié)省接入方的開發(fā)和維護(hù)的工作量。

  • 安全性。基于快速迭代的能力,開發(fā)團(tuán)隊(duì)能夠在第一時(shí)間修復(fù)WebView暴露的各種風(fēng)險(xiǎn)和漏洞,同時(shí)通過數(shù)據(jù)加密、防劫持等手段提高了Web訪問的安全性,這是系統(tǒng)WebView做不到的。

2.vivo web service

以上優(yōu)勢(shì),對(duì)于關(guān)注相關(guān)點(diǎn)的應(yīng)用已經(jīng)有足夠的吸引力了。更進(jìn)一步,在奇點(diǎn)內(nèi)核的基礎(chǔ)上我們將瀏覽器和部門的其他技術(shù)資源整合起來,構(gòu)建了一個(gè)圍繞奇點(diǎn)內(nèi)核的服務(wù)平臺(tái),我們稱為vivo web service。

web service apk架構(gòu)示意圖

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

其中:

  • 奇點(diǎn)內(nèi)核以WebView的形式提供出來, API與系統(tǒng)WebView保持一致。

  • 作為奇點(diǎn)內(nèi)核的后備,Web服務(wù)平臺(tái)提供動(dòng)態(tài)切換奇點(diǎn)WebView到系統(tǒng)WebView的能力。

  • 通過奇點(diǎn)內(nèi)核,還可以有條件的使用到云端代理(省流加速、內(nèi)容轉(zhuǎn)碼等)、HTTP DNS防劫持能力。

  • web service可以提供JSBridge、J2V8等擴(kuò)展能力。

  • web service可以提供強(qiáng)大的奇點(diǎn)Player,這款自主研發(fā)的播放器在播放速度和穩(wěn)定性方面遠(yuǎn)超系統(tǒng)提供的MediaPlayer。

我們將以上資源整合后,以奇點(diǎn)內(nèi)核為核心提供出一套web service sdk出來供接入方使用。由于使用插件化技術(shù),接入方僅需接入200多K的sdk,就可以使用到上述這些功能。

3.vivo web service架構(gòu)

在vivo手機(jī)平臺(tái)上,各個(gè)應(yīng)用使用web service的架構(gòu)示意圖,圖中展示了各應(yīng)用通過sdk可以獲取到的web service的各種服務(wù)。

注意,這個(gè)圖僅表示應(yīng)用間的依賴關(guān)系,并非類似于Android平臺(tái)的層次架構(gòu)圖。web service目前并不是系統(tǒng)framework的一部分,它與其他應(yīng)用沒有區(qū)別,就是普通的app而已。

web service架構(gòu)示意圖

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

4.vivo web service技術(shù)原理

前面提到,web service的實(shí)現(xiàn)方式是插件化,由sdk和apk兩部分構(gòu)成。接入方通過sdk動(dòng)態(tài)加載web service apk,每個(gè)應(yīng)用在自己的進(jìn)程空間中使用獨(dú)自的web service,互不干擾。

應(yīng)用動(dòng)態(tài)加載web service apk示意圖

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

其中:

  • web service apk提前被安裝到系統(tǒng)中,或者由應(yīng)用按需下載安裝。

  • 應(yīng)用在使用web service之前使用sdk接口將apk中的類實(shí)現(xiàn)動(dòng)態(tài)加載到自己的進(jìn)程中,就可以使用服務(wù)。

  • 應(yīng)用可以通過API開啟或者關(guān)閉某些服務(wù),也可以通過服務(wù)器配置,每個(gè)應(yīng)用的配置互不干擾。

  • apk可以通過應(yīng)用商店進(jìn)行更新,更新后應(yīng)用下次啟動(dòng)立刻可以使用到apk的最新特性。

  • apk支持自升級(jí),可以通過服務(wù)器配置是否強(qiáng)制升級(jí)為最新版本,作為緊急問題修復(fù)的兜底方案。

5.vivo web service未來演進(jìn)

隨著web service的迭代,未來的功能會(huì)更加豐富。目前來看,web service可能向以下的幾個(gè)方向演進(jìn)。

  • 提供更強(qiáng)大的Web能力。Web能力的提供者是內(nèi)核,未來我們會(huì)通過定期的升級(jí)內(nèi)核,并持續(xù)的進(jìn)行性能和穩(wěn)定性優(yōu)化來強(qiáng)化內(nèi)核能力。

  • 提供更多的擴(kuò)展功能。未來web service會(huì)開發(fā)和引入更多、更強(qiáng)大的組件或服務(wù),這些組件或服務(wù)依托于Web服務(wù),為接入方提供更多的可選擇性。

  • 提供更簡(jiǎn)潔的接入方式。未來web service中的奇點(diǎn)內(nèi)核會(huì)成為系統(tǒng)的默認(rèn)webview。第三方應(yīng)用甚至不需要修改代碼,就能使用上web service服務(wù)。依托于vivo強(qiáng)大的手機(jī)平臺(tái)優(yōu)勢(shì),web service會(huì)有更大的想象空間。

平臺(tái)應(yīng)用使用vivo web service示意圖

vivo web service:億萬級(jí)規(guī)模web服務(wù)引擎架構(gòu)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI