【LiteApp系列】愛奇藝小程式架構淺析
前言
上一篇文章已經講述了何為小程式,地址如下:
此篇主要講一下其架構設計。
對WebView的優化
傳統的WebView使用過程如下:
從圖中可以看到,傳統的WebView在使用的時候,會有較長時間處於無法操作的狀態。(不一定是白屏,有的可以使用引導圖之類)
小程式主要從以下幾個方面進行了優化:
1、在APP或者說程式啟動的時候就在後臺做完WebView的初始化工作,這樣在使用的時候就可以節省等待初始化的時間。
2、新增了對網路框架的快取功能,這樣在第一次之後載入的時候就不需要重新到網路去下載,直接本地讀取就可以了。
3、使用vue.js框架,將VDom操作與渲染分離。在android native提前啟動JavaScriptCore用來負責VDom的構建和找Diff等工作,而WebView只需要負責渲染即可。這樣在WebView載入其他JS程式碼的時候,JavaScriptCore就可以開始構建VDom。
優化之後的WebView的使用過程如下:
系統架構
下圖摘自github:
上圖摘自官方github開源專案,主要有以下幾個要點:
1、JS程式碼主要有兩個框架JSBridger和VUE。VUE框架負責主要的業務邏輯和介面,JSBridger主要負責與android native的互動。
2、JS執行在android native上,負責VDOM Diff相關工作。WebView則主要只負責渲染。
3、對Webview或者是native UI的事件觸發開源通過JsBridger來與JS進行互動,再而更新WebView或者是native UI。
更多內容可以檢視github官方開源專案:
https://github.com/iqiyi/LiteApp
相關文章
- 【LiteApp系列】何為愛奇藝小程式?APP
- 愛奇藝小程式陪你嗨一夏
- 愛奇藝直播 - 春晚直播業務API架構API架構
- 愛奇藝RND框架技術探索——架構與實現框架架構
- 愛奇藝平臺的架構設計與演進之路架構
- 愛奇藝在 Dubbo 生態下的微服務架構實踐微服務架構
- 電商架構淺析架構
- Linux系統——架構淺析Linux架構
- 淺析Kubernetes架構之workqueue架構
- 淺析小程式外掛
- iOS MVC、MVVM、MVP架構模式淺淺析iOSMVCMVVMMVP架構模式
- PerfDog測試騰訊影片、優酷、愛奇藝影片類小程式效能
- 淺析HDFS架構和設計架構
- 微服務架構專案淺析微服務架構
- MyBatis(十一):MyBatis架構流程淺析MyBatis架構
- 車澈的愛奇藝往事
- 愛奇藝財報:2023年愛奇藝總營收319億元 同比增長10%營收
- 淺析Nordic nRF5 SDK例程架構架構
- iOS版愛奇藝取消自動續費教程 愛奇藝自動續費怎麼取消?iOS
- 小程式架構架構
- 愛奇藝財報:2023年Q1愛奇藝營收83億元 同比增長15%營收
- 愛奇藝 Android PLT hook 技術分享AndroidHook
- 淺析雲原生應用安全組織架構架構
- 愛奇藝財報:2022年愛奇藝總營收為人民幣290億元 同比下滑5%營收
- 程式碼 or 指令,淺析ARM架構下的函式的呼叫過程架構函式
- 愛奇藝星鑽VIP會員怎麼升級? 愛奇藝成為星鑽VIP會員的技巧
- 愛奇藝財報圖解:2018年Q1愛奇藝營收7.776億美元 同比增長57%圖解營收
- 深入淺出etcd系列Part 1 – etcd架構和程式碼框架架構框架
- 愛奇藝視訊增強技術——ZoomAIOOMAI
- 如何看待愛奇藝限制電視投屏?
- 愛奇藝混合雲內網DNS實踐內網DNS
- 【LiteApp系列】埋點的設計APP
- 微服務開發攻略之淺析微服務架構微服務架構
- Spring-Security-OAuth2架構及原始碼淺析SpringOAuth架構原始碼
- 愛奇藝財報:2022年Q3愛奇藝總收入75 億元人民幣 同比下降 2%
- 愛奇藝蒙版AI:彈幕穿人過,愛豆心中坐AI
- [轉] 淺析x86架構中cache的組織結構架構
- 愛奇藝財報:2023年Q3愛奇藝總營收80億元人民幣 同比增長7%營收