全球热推荐: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件事
标签:
精彩推送
每日短讯:永顺生物(839729)12月28日散户资金净买入15.23万元
截至2022年12月28日收盘,永顺生物(839729)报收于8 06元,上涨0 12%,换手率0 04%,成交量328 36手...
来源:2022.12.28
每日短讯:周票房:《阿凡达2》破7亿连庄 《想见你》居亚
1905电影网专稿2022年即将收官。第51周(12月19至12月25日),大盘依然报收超过4亿。其中,贡献最为突出...
来源:2022.12.26
新闻快讯
新闻快讯
- 每日短讯:永顺生物(839729)12月28日散户资金净买入15.23万元
- 【独家】合锻智能荣获中国机械制造工艺协会科学技术奖特等奖
- 【全球聚看点】石狮刑警接力追凶26年!破获入室抢劫杀人案
- 【天天新要闻】中国长城: 关于拟变更会计师事务所的公告
- 环球热点!哈森股份(603958):哈森股份股东集中竞价减持股份进展
- 天天微动态丨最好吃的橘子排名?
- 环球今日报丨12月26日机构席净买入 买入14股
- 每日短讯:周票房:《阿凡达2》破7亿连庄 《想见你》居亚
- 【世界播资讯】重庆完成首例简易程序单边预约定价安排谈签
- 通讯!大华股份:12月23日融券卖出金额88.66万元,占当日流出金额的0.97%
- 【新要闻】蒋万安就职台北市长,小儿突然哭嚎引笑声一片
- 热门看点:财产分割报告该怎么写?
- 世界快播:青春不过几场世界杯
- 全球今日报丨期权分仓是否可以做卖方?期权卖方怎么做?
- 天天热讯:极市直播预告丨NeurIPS 2022 Oral-张博航:如何从模型层面获得对抗鲁棒性保证?
- 每日焦点!中日韩自贸区板块12月22日涨2.32%,青岛金王领涨,主力资金净流入3724.4万元
- 世界实时:“中华文化进孔子课堂”活动走进安卡拉
- 全球观察:中汽协公布1-11月前十家轿车生产企业销量排名
- 天天消息!重磅!时隔12年 证监会重启房企借壳上市大门
- 全球今日讯!海南国际电影节红毯众女星盛装出席
- 全球热推荐:H5开屏从龟速到闪电,企微是如何做到的
- 天天速讯:外媒:美国加州发生6.4级地震 数万户家庭和企业断电
- 【环球热闻】苍溪:多措并举 保障患者平稳有序就医
- 全球时讯:RX 7900系列开卖被秒光 诸多用户回归N卡阵营
- 世界新动态:至书房产遗嘱应该怎么写?
- 全球时讯:均为大套型房源!北京延庆区86套公租房今日起登记
- 全球即时看!Dance in the moment
- 天天即时看!南靖县领导带队调研推进重点项目建设
- 天天最新:秋衣不能用洗衣机洗吗 秋衣可不可以用洗衣机洗呢
- 全球讯息:中国2023年将继续实施积极财政政策和稳健货币政策
- 环球微资讯!复婚时离婚协议怎样写呢?
- 【全球新要闻】英杰电气获98家机构调研:充电桩和储能业务的扩建,也是基于公司在工业电源领域的优势,能力圈的延展在逻辑产业上都是符合行业发展规律的(附调研问答)
- 每日播报!离婚了农村房屋如何分割
- 环球时讯:南乐县用高质量干部管理助推脱贫攻坚工作
- 环球新动态:庭院养鹅怎么过冬 庭院养鹅如何安全过冬呢
- 世界讯息:科前生物(688526)12月14日主力资金净卖出298.02万元
- 快报:冠石科技(605588.SH)股东祥禾涌原等已合计减持1%股份
- 环球即时:鹏翎股份:目前河北新欧经营情况良好
- 焦点热门:12月13日基金净值:东方红创新趋势混合最新净值0.7091,跌0.25%
- 全球消息!同力日升(605286)12月13日主力资金净卖出1055.28万元
- 世界新动态:山西离婚有哪些程序?急?
- 今日视点:深圳国际(00152.HK)拟出售杭州深国际供应链管理100%股权
- 当前速看:蛋糕的方法怎么做 肉松蔬菜蛋糕的做法
- 全球动态:金冠股份(300510.SZ):冠华新能源拟与江苏保龙在西南、中部等区域建设储能、风储、光储电站项目
- 热点聚焦:紫元元(08223.HK)拟2497.1万元收购深圳福田区滨河大道物业
- 环球看点!邓州法院组织召开特邀律师调解员培训交流会
- 环球快报:众生药业董秘回复:公司将根据信息披露规则对项目后续进展情况及时履行信息披露责任
- 襄阳二季度20个工业园区完成114项任务 完成率达76%!
- 受消费建材板块估值有待提升消息影响 建材ETF拉升
- 集聚“新人才”!雄安新区引进650余名优秀应届毕业生