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开屏从龟速到闪电,企微是如何做到的
2022-12-20 -
鲁西化工: 第八届董事会第三十三次会议决议公告
2022-12-19 -
唐人神:龙华农牧是公司控股子公司,主要从事生猪养殖业务,有约150万头的生猪养殖产能,其生猪屠宰项目尚在规划中
2022-12-19 -
上汽集团董秘回复:公司汽车出口到欧洲、英国、北美、南美、澳新、中东、东南亚及非洲部分国家 环球快报
2022-12-19 -
云豹主场球迷为客队加油并怒喷:退钱!霍华德不打不早说!
2022-12-18 -
全球市场早报|美股续跌!标普500跌1.11%,能源股普遍下挫
2022-12-18 -
每日快播:打线槽多少钱一米
2022-12-17 -
微动态丨南 京 港: 南京港股份有限公司重大诉讼事项公告
2022-12-16 -
世界最资讯丨英恒科技:荣获格隆汇“金格奖”--大中华区卓越上市公司评选之“年度中小市值成长价值奖”
2022-12-16 -
【全球报资讯】工银瑞信国证港股通科技ETF净值下跌2.58% 请保持关注
2022-12-16 -
信邦智能(301112.SZ)及子公司拟使用不超2亿元闲置自有资金购买理财产品_快看
2022-12-15 -
奥迪q5l真实成交价 「2021奥迪q5l新款」|独家焦点
2022-12-15 -
焦点热讯:涉嫌了盗窃财物了,重犯盗窃241判多长时间呢?
2022-12-15 -
【港股通】郑煤机(00564):煤矿机械产品订单饱满 高端汽车零部件项目一期已于11月底投产 当前时讯
2022-12-14 -
昂利康董秘回复:新合新是一家涵盖从甾体药物的中间体到原料药的生产企业 当前热闻
2022-12-14 -
看热讯:公司前线|百川畅银控股股东上海百川畅银实业有限公司质押1200万股
2022-12-13 -
万润股份董秘回复:公司无您所描述的产品|焦点
2022-12-13 -
数据资产证券化迎会计制度基础 数据资产入表更进一步
2022-12-13 -
宝钢包装: 关于召开2022年第四次临时股东大会的通知_世界新要闻
2022-12-12 -
河南省注册会计师备考攻略
2022-12-12 -
杭氧股份(002430):引入战投 助力公司快速切入半导体领域
2022-12-09 -
全球实时:商城县周乃武:务实为民兴乡村
2022-12-08 -
以新能源汽车为抓手 迈上汽车强国之路 ——专访中国汽车工程学会名誉理事长付于武-环球微资讯
2022-12-07 -
今日最新!金城医药董秘回复:经营数据请参见公司定期报告披露的相关数据
2022-12-06 -
安徽一次性扩岗补助工作启动 发挥失业保险助企扩岗作用
2022-08-30 -
强强联合 中矿资源与盛新锂能拟在津巴布韦成立合资公司
2022-05-24 -
河北省各市县开展建筑垃圾清理整治工作
2022-03-21 -
天津实现村(居)法律顾问全覆盖 已有村(居)法律顾问1740人
2022-03-21 -
面对校园欺凌,该不该“打回去”
2021-12-16 -
燃情冰雪 拼出未来丨北京冬奥会倒计时50天冲刺 这一系列测试赛不简单
2021-12-16
-
守住网络直播的伦理底线
2021-12-16 -
石窟寺文化需要基于保护的“新开发”
2021-12-16 -
电影工作者不能远离生活
2021-12-16 -
提升隧道安全管控能力 智慧高速让司乘安心
2021-12-16 -
人民财评:提升消费体验,服务同样重要
2021-12-16 -
卫冕?突破?旗手?——武大靖留给北京冬奥会三大悬念
2021-12-16 -
新能源车险专属条款出台“三电”系统、起火燃烧等都可保
2021-12-16 -
美术作品中的党史 | 第97集《窗外》
2021-12-16 -
基金销售业务违规!浦发银行厦门分行等被厦门证监局责令改正
2021-12-16 -
保持稳定发展有支撑——从11月“成绩单”看中国经济走势
2021-12-16