速看:H5开屏从龟速到闪电,企微是如何做到的
(资料图片)
导读|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开屏从龟速到闪电,企微是如何做到的
- 每日观察!捷信超贷贷款逾期30年延迟还款影响征信吗
- 【新要闻】满易贷逾期4个月会上征信吗
- 环球快资讯:全面提升产能 湖北药企加班生产保供应
- 天天讯息:农村房屋宅基地买卖合同
- 焦点-小心一夜暴“负”,谨防投资理财诈骗
- 今日热议:埃斯顿:公司工业机器人采购的芯片来自于中国、欧洲、美国和日本,目前未受到美国管制的影响
- 当前通讯!纠结了很久还是选择了小米13 Pro,实际体验一周,谈谈我的体验
- 全球速讯:外汇局:11月银行结汇13304亿元人民币,售汇13754亿元人民币
- 今头条!过失杀人有罪吗,一般会被判多少年,量刑标准是什么?
- 环球热文:航亚科技(688510)646万股限售股将于12月16日解禁上市,占总股本2.5%
- 世界观焦点:粤宏远A董秘回复:公司地产业务目前还是基础业务,其它业务在加快拓展和盘活
- 当前关注:12月上旬流通领域重要生产资料价格:29种种产品上涨 生猪环比降2.2%
- 全球热推荐:城发环境(000885.SZ):拟以3.045亿元收购漯河城发50%股权
-
铁龙物流(600125)12月13日在投资者关系平台上答复了投资者关心的问题。投资者:贵公司董事长历年来均由大股东中铁集董事长兼任,请问在公转铁
-
执行裁定失职,致使当事人或者其他人的利益遭受重大损失的,处五年以下有期徒刑或者拘役。根据《刑法》第三百九十九条第三款规定,在执行判决
-
打造住房消费的新模式和新增长。例如积极试点“先租后售”,加快风险资产处置等。当下,“加快打造REITs市场的保障性租赁住房板块”也成为一个
-
偏离业绩基准押注细分行业行业主题基金业绩分化引忧虑2022年12月12日08:23中国经济网来源:上海证券报行业主题基金业绩严重分化、偏离业绩比较
-
截至2022年12月9日收盘,黄山旅游(600054)报收于12 43元,下跌2 97%,换手率2 7%,成交量13 84万手,成交额1 73亿元。12月9日的
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...

