H5开屏从龟速到闪电,企微是如何做到的
2022-12-20 10:57:52 来源:
(资料图片仅供参考)
导读|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开屏从龟速到闪电,企微是如何做到的
-
南方精工: 2022年第二次临时股东大会的法律意见书:每日动态
-
中欣氟材董秘回复:谢谢您对本公司的关注,公司正在针对目前的行业现状及公司现有业务进行规划
-
飞利信董秘回复:高管减持股票是自身对资金有安排且预披露过的,不涉及任何看空公司前景问题|天天简讯
-
大一学生时银灿:到抗疫一线 奉献自己的力量
-
车e贷网贷逾期2个月会影响征信吗-天天观察
-
遭疯抢的黄桃罐头,是如何在东北“封神”的?|每日热点
-
故意杀人轻伤一级会判多少年|环球热讯
-
最新消息:晶方科技: 晶方科技独立董事关于五届五次临时董事会相关事项的事前认可意见
-
天天时讯:战新产业抢滩 发力都市工业
-
微资讯!王府井烤鸭多少钱一只(王府井北京烤鸭店)
-
天天速看:卓锦股份:作为综合性的环保公司,公司一直致力于提升公司的经营水平和技术实力,追求长期可持续的稳步增长
-
【独家焦点】国家统计局:原油生产稳定增长,进口保持较快增长
-
哈尔滨4岁孩子抚养费给多少钱:全球最资讯
-
【当前独家】汝阳县多管齐下筑牢森林资源防灭火安全
-
粤万年青董秘回复:公司目前口罩生产线满负荷运行,已加大生产力度确保市场供应
-
中国驻阿富汗大使:喀布尔遇袭酒店内我公民已妥善安置 有5名同胞受伤:世界速读
-
襄阳轴承(000678)12月12日主力资金净卖出826.14万元|世界热消息
-
高盛:Gap(GPS.US)利润率有望提高 上调评级至“买入”-热资讯
-
让“黄泥滩”变身网红地:移动5G为湿地保护贡献数智力量_世界热议
推荐内容
- H5开屏从龟速到闪电,企微是如何做到的
- 南方精工: 2022年第二次临时股东大会的法律意见
- 中欣氟材董秘回复:谢谢您对本公司的关注,公司正
- 飞利信董秘回复:高管减持股票是自身对资金有安排
- 大一学生时银灿:到抗疫一线 奉献自己的力量
- 车e贷网贷逾期2个月会影响征信吗-天天观察
- 遭疯抢的黄桃罐头,是如何在东北“封神”的?|每
- 故意杀人轻伤一级会判多少年|环球热讯
- 最新消息:晶方科技: 晶方科技独立董事关于五届
- 天天时讯:战新产业抢滩 发力都市工业
- 微资讯!王府井烤鸭多少钱一只(王府井北京烤鸭店
- 天天速看:卓锦股份:作为综合性的环保公司,公司
- 【独家焦点】国家统计局:原油生产稳定增长,进口
- 哈尔滨4岁孩子抚养费给多少钱:全球最资讯
- 【当前独家】汝阳县多管齐下筑牢森林资源防灭火安
- 粤万年青董秘回复:公司目前口罩生产线满负荷运行
- 中国驻阿富汗大使:喀布尔遇袭酒店内我公民已妥善
- 襄阳轴承(000678)12月12日主力资金净卖出826.14
- 高盛:Gap(GPS.US)利润率有望提高 上调评级至“
- 让“黄泥滩”变身网红地:移动5G为湿地保护贡献数
- 全球快播:众生药业: 独立董事提名人声明(林瑞
- 北方铜业:北铜新材压延铜箔车间目前仍处于试生产
- 聆达股份(300125)12月7日主力资金净卖出3444.44万元
- 世界今亮点!三亚机票酒店预订暴增3倍,民宿老板
- 陕西两万五千吨市政桥梁完成“转身”
- 河北邯郸发生天然气泄漏事故致3人死亡
- 兰州40家A级旅游景区暂时关闭 开放时间暂定
- 湖北警方打掉两跨省“跑分”洗钱犯罪团伙
- 新冠肺炎疫情下如何保护孩子?张文宏建议设儿童专
- 海南儋州出现1例治愈后的境外输入病例复阳人员
- 男童脊柱侧弯压迫心肺 医生耗时7小时矫正
- 宁夏将开展18岁以上重点人群加强免疫接种工作
- 北京新增1例京外关联本地确诊病例 病例所在街道
- 北京丰台初步排查确诊病例密接、次密接258人 组
- 四川95岁战斗英雄何开仲有个心愿:想见见山东老战
- 增产快!电力生产加速 能源供应偏紧将得到缓解
- 夏粮和早稻实现双增产 前三季度农林牧渔业增加值
- 云南瑞丽江桥“守门员”:疫情防控不漏一人
- 宁夏吴忠核酸阳性者已确诊
- 宁夏吴忠市发现一例外省来吴核酸检测阳性人员
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10