全球微动态丨H5开屏从龟速到闪电,企微是如何做到的
2022-12-19 12:11:42 来源:
(资料图片)
导读|H5开屏龟速常是令开发者头疼的问题。腾讯企业微信团队对该现象进行分析优化,最终H5开屏耗时130ms,达到秒开效果!企微前端开发工程师陈智仁将分享可用可扩展的Hybird H5秒开方案。该团队使用离线包解决了资源请求耗时的问题,在这个基础上通过耗时分析找到瓶颈环节,进一步采用“预热”进行优化提速以解决了WebView初始化、数据预拉取、js执行(app初始化)耗时的问题。希望这些通用方法对你有帮助。
背景
服务端渲染(SSR)是Web主流的性能优化手段。SSR直出相比传统的SPA应用加载渲染规避了首屏拉取数据和资源请求的网络往返耗时。团队针对Web开发也已经支持了SSR能力。近期出于动态化运营的考虑,我们选择了Web开发,同时我们也接到了提升体验的诉求。以企业微信要开发的页面为例:采用SSR方案,从用户点击到首屏渲染的耗时均值约600ms,白屏时间的存在是可以感知到的。为了尽可能消除白屏达到秒开效果,我们尝试做更多探索。方案思路1) 方案选型如何实现页面秒开呢?从最直观的渲染链路来入手分析。下图列出了从用户点击到看到首屏渲染可交互,一个SPA应用主要环节的加载流程。我们调研了业内相关方案,从渲染链路的视角来看下常见方案的优化思路。传统离线包在加载渲染过程中,网络IO是很明显的一个耗时瓶颈。传统的离线包方案思路很直接,如果网络耗时那就将资源离线,很好地解决了资源请求的耗时。用Service Worker也能达到离线包的效果,同时也是Web标准。首次渲染优化一般需要结合客户端配置预启动脚本来达到缓存资源的效果。SSRSSR则从另外的角度出发,在请求页面的时候就进行服务端数据拉取和页面直出,首屏得以在一个网络往返就可以展示,有效地规避了后续需要等待css/js资源加载、数据拉取的时间。性能体验有比较大的提升,在BFF普及的情况下开发模式简单,很受欢迎。公司内相关工作考虑到WebView的初始化(冷启动/ 二次启动)、页面网络请求、首屏数据接口的耗时,白屏时间还是可感知地存在的。以我们要开发的页面为例采用SSR首屏耗时均值~600ms,可交互时间均值~1100ms。如何进一步消除白屏?这里为各位介绍公司内外针对h5首屏性能优化的优秀方案。手Q团队的VasSonic是集大成者,主要思路是采用WebView和数据预拉取并行的方式。这套方案需要客户端和服务端采用指定协议改造接入,开发时也有一定的改造工作。微信游戏团队主要思路是利用jsCore做客户端预渲染,用户点击后直接上屏。这个方法也达到了很好的效果,首屏FCP时间从1664ms降低到了411ms。我们做了一个简要的方案对比,可以看到每个方案都针对渲染链路的某个或多个环节做了优化,其中VasSonic的效果比较显著。不过结合企业微信业务实际情况,我们列出了如下几点考虑:首先,接入对客户端和服务端有一定的改造成本,业务开发也有一定的改造工作。其次,我们已经有一套的统一发布平台,希望能复用这套发布能力。最后,性能上有没有进一步优化的空间呢?业务需求对体验上的要求是希望达到更好的性能效果或者说尽可能完全地消除白屏。基于以上考虑,我们在上述方案的基础上做了进一步的实践探索,以期望达到更好的性能效果。离线包 | SSR | VasSonic | CSR |
资源加载 | |||
数据拉取 | |||
JS执行 | |||
WebView启动优化 | |||
首屏FCP | |||
可交互(取决于JS执行) |
首次冷启动/ms | 二次打开/ms | |
iOS(WKWebView) | 480ms | 90ms |
腾讯工程师技术干货直达:
1、算法工程师深度解构ChatGPT技术
2、10分钟!从架构视角读懂K8s
3、探秘微信业务优化:DDD从入门到实践
4、耗时减半?腾讯云OCR只做了3件事
关键词:
为你推荐
-
全球微动态丨H5开屏从龟速到闪电,企微是如何做到的
-
双眼皮割深了慢慢会变浅吗 今日快讯
-
闪银逾期4年逾期多久
-
虎头局宣布开放加盟;蒙牛首位虚拟员工“奶思”亮相;Tims咖啡引入中文名“Tims天好咖啡”|消研所日报 速看料
-
环球微头条丨福建高速(600033)12月16日主力资金净卖出161.23万元
-
中国医药:与辉瑞(PFE)相关合作事项预计对公司经营业绩无重大影响-当前观点
-
北京市自然科学基金-小米创新联合基金第一批项目发布 35个科研项目获资助:今日看点
-
工伤九级伤残赔偿鉴定后,公司拒不赔偿怎么办呢?
-
桃胶怎么分辨好坏 桃胶品质辨别的方法-世界实时
-
江铃汽车董秘回复:目前测试验证工作正常推进:速看
-
12月14日基金净值:大成中证红利指数A最新净值2.172,跌0.37%:每日速看
-
世界消息!万人助万企|镇平县深化“万人联万户”活动 进一步加强小微企业服务工作
-
环球热点评!河化股份:公司技改目前仍在建设中,尚未完工
-
考拉和袋鼠都是有袋类动物吗 考拉跟袋鼠一样有口袋吗|当前快讯
-
深圳燃气收费标准2021_深圳燃气安装费多少钱|全球热讯
-
ETC板块12月12日涨0.21%,法拉电子领涨,主力资金净流入2310.03万元
-
中国中铁(00390.HK)“18铁Y10”拟12月19日付息:全球微动态
-
军人首付贷款有优惠吗,军人买房有优惠吗
-
天天动态:本周盘点(12.5-12.9):恒顺醋业周涨3.68%,主力资金合计净流入983.54万元
-
杭汽轮B(200771)12月8日主力资金净卖出288.39万元
推荐内容
- 全球微动态丨H5开屏从龟速到闪电,企微是如何做到
- 双眼皮割深了慢慢会变浅吗 今日快讯
- 闪银逾期4年逾期多久
- 虎头局宣布开放加盟;蒙牛首位虚拟员工“奶思”亮
- 环球微头条丨福建高速(600033)12月16日主力资金
- 中国医药:与辉瑞(PFE)相关合作事项预计对公司经
- 北京市自然科学基金-小米创新联合基金第一批项目
- 工伤九级伤残赔偿鉴定后,公司拒不赔偿怎么办呢?
- 桃胶怎么分辨好坏 桃胶品质辨别的方法-世界实时
- 江铃汽车董秘回复:目前测试验证工作正常推进:速看
- 12月14日基金净值:大成中证红利指数A最新净值2.1
- 世界消息!万人助万企|镇平县深化“万人联万户”
- 环球热点评!河化股份:公司技改目前仍在建设中,
- 考拉和袋鼠都是有袋类动物吗 考拉跟袋鼠一样有口
- 深圳燃气收费标准2021_深圳燃气安装费多少钱|全球
- ETC板块12月12日涨0.21%,法拉电子领涨,主力资金
- 中国中铁(00390.HK)“18铁Y10”拟12月19日付息:全
- 军人首付贷款有优惠吗,军人买房有优惠吗
- 天天动态:本周盘点(12.5-12.9):恒顺醋业周涨3.
- 杭汽轮B(200771)12月8日主力资金净卖出288.39万元
- 速讯:昆船智能董秘回复:公司专项产品的相关部分
- 百科 贾青演的艳彩是什么电视剧
- 知识 乳罩的正确穿法是什么
- 百科 帕克的电影全名是什么
- 知识 et是什么基团
- 知识 成奎安哪部电影叫大傻
- 知识 孔子东游的游是什么意思
- 百科 国际飞镖比赛
- 知识 大学英语专业的就业方向有哪些
- 百科 迈克是什么意思
- 知识 社保滞纳金怎么算
- 老人突发身体不适 梅园新村民警及时救助获赠锦旗
- 低头看手机惹的祸 南京一司机闯红灯被撞损失惨重
- 三岁小男孩意外走失 民警多方工作帮助找到家人
- 一家三口登山被困在灌云大伊山上 消防人员紧急救援
- 海陵民警化身“背包客” 为行动不便老人补办身份证
- 南京一男子酒后开车撞上花坛直接侧翻 迎面碰上了
- “求助人”变“嫌疑人” 南京鼓楼警方破获一起盗
- 老人看电视突然呼吸困难 民警接警火速救助
- 陕西两万五千吨市政桥梁完成“转身”
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
迈克是英文男子名,Michael的昵称,也可以代表扩音器、麦克风、话筒、送话器的意思。扩音器顾名思义就是将声音进行放大,传播的更远的意思
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西