HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

在 PWA 中使用 App Shell 模型提升性能和用户感知体验

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

    阅读完需:约 3 分钟

在 PWA 中使用 App Shell 模型提升性能和用户感知体验

GMTC北京2018大会上,潘宇琪讲师做了《在 PWA 中使用 App Shell 模型提升性能和用户感知体验》主题演讲,主要内容如下。


演讲简介


在构建 PWA 应用时,使用 App Shell 模型能够在视觉和首屏加载速度方面带来用户体验的提升。另外,在配合 Service Worker 离线缓存之后,用户在后续访问中将得到快速可靠的浏览体验。在实践过程中,借助流行框架与构建工具提供的众多特性,我们能够在项目中便捷地实现 App Shell 模型及其缓存方案。最后,在常见的 SPA 项目中,我们试图使用 Skeleton 方案进一步提升用户的感知体验。


演讲提纲:


  1. App Shell 模型


在 PWA 中,使用 App Shell 模型将通用的资源与动态内容分离,可以实现对于用户的快速响应。配合 Service Worker 实现 App Shell 的预缓存之后,在弱网甚至离线环境依然能给予用户可靠的浏览体验。另外,借助流行框架与构建工具的先进特性,开发者不必从头实现 App Shell 的全部细节。


(1) 介绍 PRPL 模式和 App Shell 模型思想


(2) 介绍应用该模型后,在用户体验上带来的提升效果


用户浏览站点时,带来近似 Native App 的视觉效果


提升首屏加载速度


(3) 介绍在实际项目开发中,如何借助框架和构建工具实现该模型


(4) 介绍在不同架构(SPA、MPA、SSR)下的 Service Worker 通用预缓存方案


  1. Skeleton 方案


为了进一步提升用户感知体验,在 SPA 中可以使用 Skeleton (骨架屏)减少白屏时间。我们将介绍两种生成方案的实现思路,以及在灵活可用性、展现速度上的优化方式。


(1) 构建阶段的生成方案,包含以下两种:


额外编写组件,使用框架的 SSR (服务端渲染)功能


自动化生成,使用 Headless Chrome 渲染真实页面内容,随后使用占位符进行替换


(2) 解决 SPA 中多页面差异性问题。根据不同页面路由展现不同内容


(3) 优化展现速度。异步加载样式,避免阻塞以进一步减少白屏时间


听众收益


  1. 了解 App Shell 模型的思想,感受应用该模型后对于用户体验的提升效果

  2. 了解使用已有流行框架工具实现 App Shell 的推荐方式

  3. 了解不同项目架构下使用 Service Worker 缓存 App Shell 的通用方案

  4. 了解 SPA 中的 Skeleton 方案,能够使用现有生成工具在项目中应用


讲师介绍


潘宇琪


百度高级研发工程师


潘宇琪,百度高级研发工程师。负责研发 Lavas PWA 解决方案,帮助开发者快速搭建 PWA 应用,解决接入问题。配合团队推进 PWA 在百度内部的推广落地,热爱研究前端新技术与分享。












完整演讲 PPT 下载链接


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


2019-09-21 14:50799

评论

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

JRC Flink流作业调优指南

京东科技开发者

Apache 京东云 京东技术 企业号 3 月 PK 榜

移动端应用性能多维监控——崩溃监控系统

Openlab_cosmoplat

工业互联网 开源社区 崩溃监控系统

Matlab常用图像处理命令108例(五)

timerring

图像处理

博睿数据入选中国高科技高成长企业系列榜单

博睿数据

可观测性 智能运维 博睿数据 荣誉奖项 高科技企业

新版本发布!TDengine 3.0.3.0 为数据压缩、事件窗口等七大功能加“Buff”

TDengine

大数据 tdengine 开源 时序数据库 国产数据库

8个云成本优化的最佳实践

SEAL安全

FinOps 云成本管理

OPPO 对话式 AI 助手小布演进之路

安第斯智能云

人工智能 AI IoT 跨端 语音助手

@Transaction注解的失效场景

京东科技开发者

京东云 京东技术 企业号 3 月 PK 榜

深入react源码看setState究竟做了什么?

flyzz177

React

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

2023算云融合产业大会-行业先驱!算力云服务领航者计划评选结果即将揭晓

中国IDC圈

算力 云算力 云计算,

A-Ops 数据库场景在线应用性能诊断案例

openEuler

数据库 Linux 操作系统 openEuler 性能测评

FeatHub:流批一体的实时特征工程平台

Apache Flink

大数据 flink 实时计算

细说react源码中的合成事件

flyzz177

React

大厂不同职级要求有何不同

致知Fighting

Java 后端 晋升

震惊,一行MD5居然让小伙伴都回不了家!!!

京东科技开发者

md5 京东云 京东技术 企业号 3 月 PK 榜

中国美妆行业私域服务商发展洞察

易观分析

商业 美妆

连接内网SSH新姿势,告别慢速度及防火墙限制

百川云开发者

Linux 远程连接 主机运维

前端react面试题合集

夏天的味道123

前端 React

Amazon Detective 支持 Amazon EKS 上的 Kubernetes 工作负载以进行安全调查

亚马逊云科技 (Amazon Web Services)

深入探究 Go log 标准库

江湖十年

Go 后端 日志 log

这可能是你需要的React实战技巧

夏天的味道123

前端 React

详解React的Transition工作原理原理

夏天的味道123

前端 React

ChatGPT-4 来了, OpenAI 官宣6种已落地应用和服务模式

B Impact

PyTorch深度学习实战 | 搭建卷积神经网络进行图像分类与图像风格迁移

TiAmo

PyTorch 图像处理

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

文盘Rust -- 安全连接 TiDB/Mysql

京东科技开发者

rust TiDB 京东云 京东技术 企业号 3 月 PK 榜

Android图形渲染系统新

江湖修行

渲染 an'droid 渲染技术

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

2023Java面试,看完这份笔记薪资和offer都稳了!

程序知音

Java 编程语言 后端 八股文 Java面试题

前端常见react面试题合集

夏天的味道123

前端 React

在 PWA 中使用 App Shell 模型提升性能和用户感知体验_GMTC_潘宇琪_InfoQ精选文章