H5开屏从龟速到闪电,企微是如何做到的
2022-12-21 06:45:23 来源:
【资料图】
导读|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开屏从龟速到闪电,企微是如何做到的
【独家焦点】北京链家:全市1400余家门店复工率超96%
中南文化:12月19日获融资买入356.29万元
当前看点!网贷逾期能起诉吗?360借条
世界短讯!远大控股: 关于对全资子公司增资的公告
天天观天下!一群孩子的建议正在改变城市细节 “红领巾小提案”为城市建设引入少年儿童视角
天天即时看!对话导演张睿:如何让医疗剧不“悬浮”?
银行客户经理自掏腰包 补客户损失?
@外贸人,华商支招:海外抢单这样最有效!
环球微头条丨经济案件的犯人被逮捕后没还钱会怎样判?大概多少年?
全球观热点:俄油向印度出口,卖得越多亏得越多,中国已成俄经济最后希望
河北景县“学分制”管理让干部大学习有成效
今日播报!举重——世锦赛女子71公斤级:中国选手获一金二银一铜
讯息:俄轰炸机在日本海上空持续飞行7小时
每日动态!外媒:德国防部出新规 可快速将极端分子赶出军队
世界微头条丨菁英时代将花不超4350万元回购公司股份用于减少公司注册资本
河南嵩县白河镇:深山银杏“披金甲” 人潮涌动赏叶忙
微速讯:跨境电商直播记
天津市人民政府政务服务办公室网络安全和信息化办公室给南威软件集团发来表扬信
羚锐制药11月14日主力资金净买入908.99万元
推荐内容
- H5开屏从龟速到闪电,企微是如何做到的
- 【独家焦点】北京链家:全市1400余家门店复工率超96%
- 中南文化:12月19日获融资买入356.29万元
- 当前看点!网贷逾期能起诉吗?360借条
- 世界短讯!远大控股: 关于对全资子公司增资的公告
- 天天观天下!一群孩子的建议正在改变城市细节 “
- 天天即时看!对话导演张睿:如何让医疗剧不“悬浮
- 银行客户经理自掏腰包 补客户损失?
- @外贸人,华商支招:海外抢单这样最有效!
- 环球微头条丨经济案件的犯人被逮捕后没还钱会怎样
- 全球观热点:俄油向印度出口,卖得越多亏得越多,
- 河北景县“学分制”管理让干部大学习有成效
- 今日播报!举重——世锦赛女子71公斤级:中国选手
- 讯息:俄轰炸机在日本海上空持续飞行7小时
- 每日动态!外媒:德国防部出新规 可快速将极端分
- 世界微头条丨菁英时代将花不超4350万元回购公司股
- 河南嵩县白河镇:深山银杏“披金甲” 人潮涌动赏
- 微速讯:跨境电商直播记
- 天津市人民政府政务服务办公室网络安全和信息化办
- 羚锐制药11月14日主力资金净买入908.99万元
- 环球热资讯!汇通集团: 汇通建设集团股份有限公
- 天天日报丨12月12日三诺生物跌6.13%,睿远成长价
- 锡业股份(000960)12月9日主力资金净买入2942.28万元
- 环球快播:瑞风协同12月9日再次登陆新三板:国家
- 港股异动 | 中创新航(03931)涨超12% 11月磷酸
- 每日看点!卓易信息(688258)12月6日主力资金净
- 陕西两万五千吨市政桥梁完成“转身”
- 河北邯郸发生天然气泄漏事故致3人死亡
- 兰州40家A级旅游景区暂时关闭 开放时间暂定
- 湖北警方打掉两跨省“跑分”洗钱犯罪团伙
- 新冠肺炎疫情下如何保护孩子?张文宏建议设儿童专
- 海南儋州出现1例治愈后的境外输入病例复阳人员
- 男童脊柱侧弯压迫心肺 医生耗时7小时矫正
- 宁夏将开展18岁以上重点人群加强免疫接种工作
- 北京新增1例京外关联本地确诊病例 病例所在街道
- 北京丰台初步排查确诊病例密接、次密接258人 组
- 四川95岁战斗英雄何开仲有个心愿:想见见山东老战
- 增产快!电力生产加速 能源供应偏紧将得到缓解
- 夏粮和早稻实现双增产 前三季度农林牧渔业增加值
- 云南瑞丽江桥“守门员”:疫情防控不漏一人
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市