写点什么

跨容器高性能的离线化方案在美团的实践和探索

  • 2019-09-21
  • 本文字数:839 字

    阅读完需:约 3 分钟

跨容器高性能的离线化方案在美团的实践和探索

GMTC北京2018大会上,于秋讲师做了《跨容器高性能的离线化方案在美团的实践和探索》主题演讲,主要内容如下。


演讲简介


为了提升部门业务的页面性能,我们需要在多个不同的移动 App 容器里面实现自己的离线化方案,同时由于 App 不是自家的,所以不能借用目前流行的离线包之类的想法,只能从纯 Web 来思考。最终我们自己基于 Service Worker 的 PWA 方案在离线化上起到了核心作用,针对目前能够支持 Service Worker 的设备较为有限的环境背景,我们在踩过 PWA 无数坑之后,实现了结合 Service-Worker + JS loader 的兼容性 Web 资源离线化方案。在实现资源的离线化缓存之后,我们还尝试了降低资源的更新开销,提升了资源加载速度,节省用户流量。


提纲:


1、项目背景


(1) 多容器 美团 X5 UC SW 兼容性


(2) 用户场景,缓存周期取决于使用周期,缓存利用率


2、离线化思考


(1) 一般离线化方案


(2) App 端的离线化方案


3、PWA 破局思路


(1) PWA 核心能力 SW


4、缓存策略方案


(1) 使用不同的缓存策略


(2) 合理的缓存周期与缓存回收控制


5、资源更新优化方案


(1) 更小的成本实现资源更新,流量节省


6、前端延伸 – 基于 Golang 的 Diff 服务


7、容错方案


8、成果总结


听众收益:


提供基于 PWA 的离线化新思路,并在字符级更新,场景策略结合方面加入了新的想法,同时在技术细节上能有以下收获:


(1) 熟悉 Service Worker 的生命周期


(2) 熟悉 Progressive Web App 的离线存储,以及缓存回收机制的最佳实践


(3) 熟悉如何进行 Service Worker 调试


(4) Service Worker 实现 Web 静态资源离线化


(5) Lighthouse 页面加载性能的审计工具的使用


(6) 熟悉资源字符级更新实现原理


讲师介绍


于秋


美团点评智能支付部前端负责人


美团点评前端技术专家,曾先后负责部门基础技术服务和整个智能支付部门前端团队,对前端工程化以及架构有自己独特的认识。乐于尝试各种新技术,结合业务场景,探索落地方案。业余时间喜欢在知乎上写写文章,潜水看看海底世界。












完整演讲 PPT 下载链接


https://gmtc.infoq.cn/2018/beijing/schedule


2019-09-21 14:501189

评论

发布
暂无评论
发现更多内容

网络攻防学习笔记 Day128

穿过生命散发芬芳

开发安全 9月日更

MVP验证方向,差异化策略超越竞争

石云升

MVP 9月日更

架构实战营模块7课后作业

燕燕 yen yen

架构实战营

用友YonSuite在基于六力模型的SaaS产品中位居业界前列

海比研究院

Promise.race() 原理解析及使用指南

devpoint

异步 Promise 9月日更

两种定时任务调度器对比

xyu

定时任务 Go 语言

渗透测试入门指南之小白该如何学习渗透?

网络安全学海

黑客 网络安全 信息安全 WEB安全 渗透测试·

【墨天轮专访第三期】达梦数据库冯源:丢掉幻想投入战斗,国产数据库的机遇窗口已经来临!

墨天轮

数据库 国产数据库 达梦

压箱底宝藏!程序员必不可少的8款办公利器

Jackpop

从电视购物到电商直播,什么造就了「带货的参差」

融云 RongCloud

小游戏 合成

游戏开发_软件开发

高并发系统SoEasy!Alibaba全新出品亿级并发设计速成笔记真香

Java 编程 架构 面试 架构师

Java从建表语句中提取索引信息, 索引名称,复合索引包含字段,索引类别(普通索引/主键索引/唯一索引/全文索引/空间索引)解决方案

张音乐

数据库 索引 9月日更

为什么说敏捷开发是应用程序的未来?

优秀

敏捷开发

自动交Y机器人开发|市值机器人源码搭建

量化系统19942438797

冒死上传!阿里内部最新版“SpringCloud Alibaba手册”细节拉满

Java 编程 架构 面试 架构师

关于比特币和区块链的3件重要事项

CECBC

在线JSON转BigQuery工具

入门小站

从 ClickHouse 到自研 ByteHouse:实时数据分析场景下的优化实践

火山引擎开发者社区

Clickhouse

【LeetCode】数据流中的中位数Java题解

Albert

算法 LeetCode 9月日更

太棒了!终于有大佬把“消息队列”核心知识点全都总结出来了

Java 编程 架构 面试 架构师

2021年最受欢迎的10款开源DevOps工具

Jackpop

三涧溪村:乡村产业插上数字化翅膀

工业互联网

Mybatis的工作流程及原理

咿呀呀

mybatis 9月日更

金融科技成为服贸会热议话题:数字化转型中如何保障金融安全

CECBC

卖NFT表情包赚上百万,区块链技术终于找到了真正价值?

CECBC

架构实战营模块七作业-游戏商城异地多活

王晓宇

架构实战营

学习笔记:TCP传输控制协议(一)

姬翔

9月日更

架构实战营 模块七 作业

一雄

作业 架构实战营 模块七

linux之ssh-keygen命令

入门小站

Linux

♟Go语言那些事儿之Redis连接与数据操作♟

Regan Yue

Go 语言 9月日更

跨容器高性能的离线化方案在美团的实践和探索_GMTC_于秋_InfoQ精选文章