【资料图】
导读|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件事
雪峰科技最新股东户数3 36万户,呈现连续4期下降,低于行业平均水平。公司户均持有流通股份1 96万股;...
1月10日,华夏中证新能源汽车ETF最新单位净值为1 7715元,累计净值为1 7715元,较前一交易日上涨1 14...
四集电视专题片《永远吹冲锋号》第四集《永远在路上》,将于1月10日在中央电视台综合频道晚8点档播出。...
1月9日天津自贸区板块较上一交易日下跌1 68%,卓朗科技领跌。当日上证指数报收于3176 08,上涨0 58%...
新华社济南1月9日电(记者张武岳)2022-2023赛季中国男子篮球职业联赛(CBA)常规赛第24轮9日结束6场较...
抖音聊天一小步,“截胡”微信一大步?@新熵原创作者丨樱木编辑丨月见新年伊始,抖音再次潜入了微信的后...
1、新鲜芦荟叶汁涂抹法:在芦荟植株下部剪取一小块芦荟叶片洗净,将芦荟叶的表皮撕去,轻轻地将芦荟液汁...
智通财经APP讯,长久物流发布公告,公司于2023年1月5日接到控股股东长久集团通知,获悉其所持有公司的59...
作者|磊哥来源|Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)人生匆匆三十四余载,...
万润股份(002643)01月06日在投资者关系平台上答复了投资者关心的问题。
➤申购家庭应携带以下材料到场选房:1 本市户籍居民家庭提交申请核验人及家庭成员身份证(家庭成员是现...
据大公网报导,香港与内地最快1月8日有序全面通关。阔别三年,从福田口岸去香港有哪些新变化?1月4日,...
平凉是控制西北的交通要地,这里既是通往西域最为便捷的路径,也是连接塞外的要道。
本次活动结合市民岁末团聚和新春团圆的寓意,融合年俗、年味、年礼、年欢、年趣,因时制宜打造重庆火锅...
1月3日,嘉实稳惠6个月持有期混合A最新单位净值为1 009元,累计净值为1 009元,较前一交易日上涨0 58...
证券代码:300677证券简称:英科医疗公告编号:2023-001债券代码:123029债券简称:英科转债英科医疗科
公共关系活动必须始终坚持和遵循以下基本原则:1、尊重事实原则。真实是公共关系的生命。尊重事实就是一...
证券时报网讯,申万宏源发布策略研报指出,短期成长相对价值的性价比已调整到位,春季行情消费搭台,打...
2022年12月29日申联生物融资净偿还18 76万元,融资余额4292 91万元
格隆汇12月29日丨瑞可达(688800 SH)公布,2022年5月21日公司披露了《关于自愿披露投资设立境外子公司的...
我的玩具乐高直升飞机作文第一篇我的心爱之物不是动物、植物,也不是文具、工艺品,和别人的都不一样,...
近期A股影视板块再现普涨。与此同时,全国院线恢复营业的比例也在不断提高。不过相较于市场乐观情绪,近...
12月21日,NinepointPartnersLP的合伙人兼高级投资组合经理EricNuttall表示,2023年油价将回到每桶100美...
俄罗斯总统普京12月27日签署政令,从2023年2月1日起,禁止向俄罗斯石油实施价格上限的国家出口石油产品...
2号线具体站点为:玉洞站-金象站-石子塘站-大沙田站-五象大道站、江南客运站-白沙大道站-石柱岭站-福建...
X 关闭
X 关闭