(资料图)
导读|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件事
关键词:
-
环球观速讯丨奥飞娱乐(002292)12月29日主力资金净卖出1187.28万元
截至2022年12月29日收盘,奥飞娱乐(002292)报收于4 53元,下跌2 37%,换手率2 82%,成交量27 51万手,成交额1 27亿元。
-
吃橘子有什么好处?吃多会上火吗?-世界今日报
益处祛痰、止咳、平喘:吃橘子的时候不要把白色的经络除掉再吃,吃橘子之所以可以祛痰,止咳,平喘主要是因为橘络的功效。橘子皮可以制成陈皮,
-
长沙本科生租房补贴在哪里办理?
在长沙工作,并在长沙落户,35岁(含)以下毕业两年之内的全日制本科毕业生可以申请租房和生活补贴,补贴标准为1 2万 两年,以下是补贴申请地
-
【洋腔队】非洲留学生看中国人与米的不解之缘_天天讯息
即将回国的Mamelang怀着对家乡的思念和对中国人与米的关系的好奇来到了广东清远市连山县,并踏上了黑山梯田。
-
2022佛山市医院招聘信息汇总(不断更新) 环球新资讯
2022佛山市各医院招聘信息整理汇总更新时间:2022年12月23日点击医院名称可查看招聘公告医院名称招聘岗位招聘人数最低学历要求报名时间广东省
-
【世界新要闻】200多元就能买到1Tb的固态SSD了
从今年1月开始,SSD固态硬盘和内存就开始了大幅的降价,从1月到12月每个月SSD都在降价,目前SSD固态硬盘的价格趋于稳定,目前NAND闪存的出货量
-
东方电气(01072)拟摊薄对于东方锅炉、东方汽轮机和东方研究院的实际控制权益_每日热闻
智通财经APP讯,东方电气(01072)发布公告,于2022年12月28日召开董事会会议通过同意东方电气集团将其向标的公司(东方锅炉、东方汽轮机和东方研究院)投
-
母亲老了句子精选419句
母亲老了句子精选136句1 母亲节,一起将祝福送给亲爱的妈妈,愿母亲健康长寿。2 听说神不能无处不在所以创造了妈妈3 不发烧了,整个人舒服了,
-
世界要闻:涨停复盘:旅游酒店板块持续爆发,陕西本地股最活跃!血氧仪卖脱销,概念股崛起
周三A股共36股涨停(不含ST股),14股封板未遂,连板股总数11只。个股方面,麦趣尔(行情002719,诊股)6连板,首创证券(行情601136,诊股)5连板
-
秦川机床:2022年公司运营质量继续改善 剔除原材料价格上涨因素 毛利率水平不断提升_每日热闻
每经AI快讯,有投资者在投资者互动平台提问:贵公司前三季度业绩不是很理想,第四季度业绩如何?目前疫后复苏与国产替代,是市场关心问题。
-
全球今头条!优信巴士贷款逾期4天会上征信吗?
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
快看点丨安鑫花借款逾期七年拖欠多久上征信系统
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
-
使用PyTorch 2.0 加速Hugging Face和TIMM库的模型-环球微动态
点蓝色字关注“机器学习算法工程师”设为星标,干货直达!PyTorch2 0引入了**torch compile()**来加速模型,这篇文章我们将介绍如何使用
-
每日速递:中国新疆至乌兹别克斯坦再开货运新通道
中新网乌鲁木齐12月27日电12月26日,两辆满载着太阳能光伏板的货车在乌鲁木齐海关所属阿勒泰海关监管下,驶离新疆塔克什肯口岸,最终将抵达乌
-
华东医药董秘回复:公司与盛诺基合作市场推广产品
华东医药(000963)12月27日在投资者关系平台上答复了投资者关心的问题。投资者:尊敬的董秘,我记得公司有过表述每年上一款创新药,不知道今年
-
【环球新要闻】四川男排1:3不敌浙江体彩 仍保留进入四强机会
四川男排1:3被浙江体彩男排逆转,大比分0:1暂时落后,仍保留进入四强机会。
-
焦点讯息:香江控股(600162.SH)已累计收到南方香江支付的业绩承诺补偿款13.32亿元
智通财经APP讯,香江控股发布公告,截至本公告日,包括之前公司收到的11 32亿元业绩承诺补偿款,公司已累计收到南方香江支付的业绩承诺补偿款
-
东珠生态董秘回复:公司同浪涛实业进行合作后双方将充分发挥资源、专业等各自优势
东珠生态(603359)12月26日在投资者关系平台上答复了投资者关心的问题。
-
社会治理百强县名单出炉,快来看看花落谁家
2022年12月25日,浙江大学社会治理研究院举行“2022中国社会治理百强县(市、区)暨2022浙江省社会治理十佳县(市、区)”发布会。现场,发布了“2022
-
天天快讯:几张长期不用的银行卡,如没有注销,多年后会不会欠银行很多钱?
几张长期不用的银行卡,如没有注销,多年后会不会欠银行很多钱?
- 环球观速讯丨奥飞娱乐(002292)12月29日主力资金净卖出1187.28万元
- 吃橘子有什么好处?吃多会上火吗?-世界今日报
- 长沙本科生租房补贴在哪里办理?
- 【洋腔队】非洲留学生看中国人与米的不解之缘_天天讯息
- 2022佛山市医院招聘信息汇总(不断更新) 环球新资讯
- 【世界新要闻】200多元就能买到1Tb的固态SSD了
- 东方电气(01072)拟摊薄对于东方锅炉、东方汽轮机和东方研究院的实际控制权益_每日热闻
- 母亲老了句子精选419句
- 世界要闻:涨停复盘:旅游酒店板块持续爆发,陕西本地股最活跃!血氧仪卖脱销,概念股崛起
- 秦川机床:2022年公司运营质量继续改善 剔除原材料价格上涨因素 毛利率水平不断提升_每日热闻