H5开屏从龟速到闪电,企微是如何做到的 每日消息
2022-12-21 05:45:36
(资料图片仅供参考)
导读|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件事
标签:
- 电信诈骗致2万余人受骗 26名涉案被告人在长春受审
- 内蒙古扎赉诺尔区除提供主副食品商店和药店外 其余暂时停业
- 黄埔海关破获案值5.2亿元走私进口木材案
- 四川省纪委监委曝光6起工程招投标领域突出问题系统治理典型案例
- 内蒙古满洲里新增本土确诊病例8例
知识
- 他把银行卡卖给骗子,“黑吃黑”“截胡”十万元
- “老司机”4S店试驾豪车 结果油门当刹车撞了
- 新开工改造城镇老旧小区5.34万个
- 发动巡河志愿者2万余名 “用心护好每一条河”
- 假客服的套路:伪装成大平台客服,层层布局引人上钩
人物
- 京东“6·18”媒体开放日:老字号全面破圈 借创新产品收获年轻用户
- 2022京东“6·18”再创新高下单金额超3793亿元
- 1000万元!房山区启动汽车消费券发放活动 设置额度不等的购车补贴
- 红布林:国货品牌交易增长551% 购买国货成新消费潮流
- 浙江两轮核酸检测结果均为阴性 无新增本土阳性感染者
- 新疆阿克苏地区库车市发生4.1级地震 震源深度18千米
- 抵返哈尔滨人员须持48小时内核酸检测阴性证明
- 浙大紫金港校区已解封 有7337人有序离开该校区
- 2021年广东省第七届风筝锦标赛落幕
- 黑龙江讷河市启动全员核酸检测 目前讷河市全员核酸检测结果均为阴性
- 【同心粤港澳 携手大湾区】南头古城,搭建深港澳三地文化创意活动交流平台
- 重庆入河排污口整治工作推进至全市26个区县
- 四川省第二批政法队伍教育整顿:立案审查调查省级政法机关干警58人
- 长三角区域生态环境部门“云签约”长江大保护倡议书
- 古老长城重焕新生机
- 藏不住了!你同事里有许多“武林高手”……
- 浙江杭州2例无症状感染者系感染德尔塔变异株
- 喜马拉雅的深情和誓言
- 浪漫之城打造山海城一体新地标
- 让老年人更适应数字生活
- 内蒙古通辽市新增1例本土确诊病例、1例无症状感染者
- 徐州无新增确诊病例 核酸检测55515人结果均为阴性
- 甘肃培树“农家巧娘”增技能:返乡创业掌勺又“掌柜”
- 内蒙古通辽市科尔沁区一地调整为中风险地区
- 上海本轮疫情涉及闭环管理的医疗机构全面恢复门急诊
- 青年学生成艾滋病感染高发人群 “社会疫苗”如何打?
- 内蒙古满洲里新增本土确诊病例1例 当地开展第二轮大规模核酸检测
- 江西无新增本土确诊病例 上饶全面恢复正常生产生活秩序
- 中老铁路上会四国语言的列车长:用心维护中老友谊的桥梁
- 海南首次发现有环志的世界极危鸟种勺嘴鹬
- 一场“网络劝生者”和“网络劝死者”的战役
- 内蒙古通辽新增本土确诊和无症状感染者各1例 轨迹公布
- 江西中烟工业有限责任公司原总经理姚庆艳接受审查调查
- 宁夏45例新冠肺炎确诊病例均已治愈出院
- 内蒙古通辽市科尔沁区发现2名初筛阳性人员
- 生活在闹钟里的丈夫:自己迟一秒,渐冻症妻子就会多一分疼
- 辽宁新冠肺炎确诊病例零新增
- 11月28日16-24时,内蒙古新增本土确诊病例1例
- 奥密克戎毒株为何“需要关注”?现有防疫工具还有效吗?
- 黑龙江新增本土无症状感染者1例
- 这辈子一定要去趟这个公园 在这里“有种爱叫放手”
- 那年今日 | 一张漫画涨知识之11月29日
- 寒潮预警!我国中东部迎大范围降温 黑龙江等地降幅可达12℃
- 冷空气继续影响我国中东部 华北黄淮等地有雾和霾天气
- 河南封丘“学生呕吐腹泻”事件五个焦点问题调查
- 云南新增本土确诊病例1例 本土无症状感染者2例
- 依法拘留10日!云南两女子伪造核酸报告单进入广西北海
- 青海果洛州玛沁县发生3.5级地震 震源深度10千米
- “火凤凰”情暖“格桑花”
- 特殊教育学校里的“提灯人”
精彩阅读
- 中医药人才培养:让“中”味更浓,“医”效更好
- 正视青春期抑郁情绪升高现象
- 保护弱势群体,化“忧薪”为“优薪”
- 北京:蔬菜开启“降价门”叶菜降幅超三成
- 四川老人欲从广西徒步3000里回家
- 应急车道屡被当成超车道?非法占用应急车道现状调查
- 成都高校走出的驻村第一书记 带领全村816名贫困村民脱贫
- 隔离酒店生活污水咋处理?全流程监控
- 让AI做老年人的“贴心小棉袄”
- 自掏腰包贴报25万张 25年为居民奉献“精神食粮”
- “夫妻哨”以塔为家守护山林12年 做“森林的眼睛”
- 新芯片将挫败5G无线传输窃听者
- 银河系“羽毛”首次现形 形成原因仍是未解之谜
- 数字化禁毒系统 助广西鱼峰创建无毒社区
- 哈尔滨姑娘耗时3年半完成环球航行
- 瑜伽疗愈师在白领群体中走俏:除了瑜伽 还是“心理师”
- 北京本周有两次冷空气活动 夜间最低气温均在0℃以下
- 南京财大:教师冯济海发布错误言论属实 调离教师岗位
- “2021中国十大休闲湖泊”榜单出炉
- 满洲里禁止人员车辆离满 专家称中国能应对新型变异株
- 钟南山:肺动脉高压治疗已获进步 呼吁社会关注罕见病群体
- 内蒙古发布寒潮蓝色预警:部分地区最低气温将下降8℃以上
- 142.2万人实际参加2022国考笔试 竞争比约46∶1
- 内蒙古满洲里市一地调整为高风险地区 一地调整为中风险地区
- 中马两国青年相聚“云端”学医交友
- 徐州警方“战疫”迎难而上 “第一时间”跑出流调加速度
- 杭州第二轮核酸检测累计采样52765人次 均为阴性
- 警方通报:海南体罚学生副校长符某某被行政拘留
- 内蒙古满洲里新增本土确诊病例19例、无症状感染者1例
- 粪菌移植治疗引关注 海内外专家聚焦肠道微生态等
- 满洲里大规模核酸检测:采样已逾15万人
- 男子拒付车费自称认识“wangwei” 洛阳警方回应
- 国家卫生健康委、国家疾控局向内蒙古派出工作组指导疫情处置工作
- 内蒙古新增本土确诊病例19例、本土无症状感染者1例