写点什么

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

  • 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:501175

评论

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

2020第一篇技术博客

java劝退师首席大弟子

生活

回“疫”录(20):世界从来不会欺负听话的人

小天同学

疫情 回忆录 现实纪录 纪实

如何发布一个npm包-创建,发布,更新,撤销及常见问题解决

Brave

npm

华为“补洞”:去年重新设计超过6000万行代码

罗燕珊

华为 实体清单

CentOS 6 升级 glibc

wong

centos glibc

如何搞定Kafka重复消费?

奈学教育

kafka kafka配置

比AtomicLong更优秀的LongAdder确定不来了解一下吗?

一枝花算不算浪漫

并发编程 jdk源码

英语学习中听和说的区别

董一凡

学习

解决 Django 多进程下,logging 记录日志错乱问题

AlwaysBeta

Python django 编程 日志 log

键入网址后,其间发生了什么?

小林coding

TCP 计算机网络 网络协议 IP HTTP

识别代码中的坏味道(二)

Page

Java 面向对象 复杂代码优化 重构 CleanCode

PhotoShop切图,一篇文章就够用了

cwang

Web 工具 PhotoShop

新mac笔记本需要做的事情

好好学习

Mac

用原理认知世界,用情绪驱动行为

史方远

职场 心理 成长

一想到有95%的问题还没解决,我就calm down了

赵新龙

科普 宇宙 后真相时代

笔记:《如何系统思考》之如何应用系统思考

wiflish

思维方式

《零基础学 Java》 FAQ 之 8-Java方法调用是传值还是传引用

臧萌

Java

Design Sprint 教你五天完成产品迭代

Yanel 说敏捷产品

产品 敏捷 设计 产品设计 团队

写在开头

宋胖子

谈谈控制感(6):虚幻的控制感也好用

史方远

职场 心理 成长

中小企业如何做运维自动化?

外滩运维专家

运维 spug 运维自动化 jenkins ansible

如何用一套引擎搞定机器学习全流程?

Apache Flink

大数据 flink 流计算 实时计算

走进Golang之编译器原理

何磊

编译原理 Go 语言

Android | Tangram动态页面之路(三)使用

哈利迪

android

一文带你了解 HTTP 黑科技

苹果看辽宁体育

大前端 HTTP

Jenkins权限管理

kcnf

MySQL事务解析

一个有志气的DB

MySQL 事务隔离级别 mysql事务

写作对我的意义

Neco.W

总结 思考 写作 感悟

JAVA内存模型与线程

颇风

Java 内存模型 JVM

Dart 进阶 | 深入理解 Function & Closure

LitaVadaski

flutter dart

汉字不能编程?别闹了,只是看着有点豪横!容易被开除!

小傅哥

spring 小傅哥 aop 汉字编程

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