(资料图)
导读|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件事
关键词:
-
春晖智控:接受中天证券等机构调研
春晖智控(SZ300943,收盘价:17 38元)发布公告称,2023年2月7日,春晖智控接受中天证券等机构调研,公司
-
东阳光药(01558.HK)股份简称将更改为“东阳光长江药业”
东阳光药(01558)公布,公司H股在联交所主板买卖的英文股份简称将由“HECP
-
信佛有什么好处和坏处简介介绍(信佛有什么好处和坏处简介介绍)
对于信佛有什么好处和坏处这个问题感兴趣的朋友应该很多,这个也是目前大家比较关注的问题,那么下面小好小
-
“津英就业”世界智能大会校企对接会成功举办 助推毕业生高质量就业
人民网天津5月19日电为落实天津市“十项行动”有关要求,助推企业高质量发展和毕业生高质量就业双赢,5月19
-
襄城区法龙中学开展研学实践活动
襄城区法龙中学开展研学实践活动---月季花香皂制作中同学们都特别感兴趣,“这些是我们在平常生活中接触不
-
洋河股份:总体渠道库存良性,将持续优化产品结构_全球报资讯
洋河股份:总体渠道库存良性,将持续优化产品结构,梦之蓝,洋河股份,税销售收入
-
线上买重疾险可靠吗?线上买重疾险避坑指南
线上买重疾险可靠,一个是线上投保平台是有资质的,比如保险经纪公司或保险公司;另外一个线上投保的重疾险
-
漕宝路属于哪个区_漕宝路归哪个区管辖
1、属于徐汇区,邮编200235。2、漕宝路站位于上海市徐汇区东部,曹豹路的东端。是上海申通地铁有限公司管辖
-
在powerpoint中动画效果针对的对象不包括-报火警的对象包括什么 天天精选
1、发生火灾单位或家庭的详细地址。2、包括街道名称、门牌号码、有没有易于寻找的地标型建筑等。3、农村发
-
来自阳江!这“神秘的东方力量”太酷啦!
SincetheNeolithicAge,ourancestorshavebeenstudyingacupunctureandmoxibustiontherapytocurediseasesandsa
-
世界球精选!美日首脑G7广岛峰会前举行会谈 强调加强两国关系
据美联社报道,当地时间18日,美国总统拜登在七国集团(G7)广岛峰会前夕,与日本首相岸田文雄举行首脑
-
北京君正:5月18日融资买入1.01亿元,融资融券余额13.9亿元-天天快看点
5月18日,北京君正(300223)融资买入1 01亿元,融资偿还7649 43万元,融资净买入2429 66万元,融资余额13
-
环球观察:Realme Narzo N53 宣布配备 Unisoc 芯片组和 5,000 mAh 电池
RealmeNarzoN53是NarzoN系列的最新产品,它带来了坚固的规格表,突出显示为90Hz显示屏、
-
鲁山联社:消防培训筑牢“防火墙”-快资讯
河南经济报记者杨磊通讯员王兆凤鲁山联社于5月16日上午举办了消防知识培训暨疏散逃生现场演练,鲁山联社党
-
中大型SUV别乱买 1-4月销量榜单出炉 理想L8第二 探险者第六
看看哪些车型卖得更好?
-
当前讯息:首都经济贸易大学是985还是211呀_首都经济贸易大学是985还是211
1、都不是,既不是211也不是985首都师范大学创建于1954年,原名北京师范学院,办学历史可追溯至
-
35.5℃!广州出现今年首个高温日,接下来的天气……
未来几天,sunny哥和雷雨将继续“争地盘”气温将仍然站在“三”字头,雷雨还要随机打卡,防暑防晒的同时,
-
【世界独家】人鱼的旋律第二季(人鱼的旋律)
1、翻唱好了。2、弄点人鱼的旋律的卡拉伴奏,或自己用消音软件消个音,在弄个翻唱软件,在电脑上连个麦克风
-
yy开播伴侣官方下载(yy直播伴侣官方下载)
1、在视频直播间选择-设置预览2、2 设置预览中。2、选择YY伴侣---电脑安装过YY伴侣---YY伴侣软件会自动弹出
-
胃炎可以吃吗丁啉吗_吗丁啉能治胃炎吗 焦点热议
1、多潘立酮不能治疗胃炎。2、多潘立酮是多潘立酮的主要成分,主要用于消化不良和胃动力不足的症状。3、一
- 建行四川省分行:深耕普惠金融 助力区域创新
- 长风破浪会有时:运营商如何弄潮数字经济-快看点
- 每日消息!乐歌股份:目前公司跨境电商业务营收占比在50%左右
- 全球最资讯丨易极:12-19日黄金早上博文晚上路演1796空均获利
- 速读:万邦德:公司呼吸系统、感冒及解热镇痛的药品有盐酸溴己新片、盐酸溴己新注射液、盐酸氨溴索注射液、小儿氨酚黄那敏颗粒、复方氨酚那敏颗粒、头孢克洛颗粒等
- 彤程新材:我司部分产品已在国内FAB厂较为大量应用
- H5开屏从龟速到闪电,企微是如何做到的
- 卢帅神奇变阵!快船用9分钟从落后15分到领先13分
- 全球时讯:CPECC伊拉克西古尔纳-1油田303项目中交侧记
- 天原集团召开元旦、春节“双节”安全工作专题会议 今日热闻