AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

在 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:50895

评论

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

注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

阿里巴巴云原生

阿里云 微服务 云原生 网关

【计算讲谈社】第八讲:AI 技术的“纺织业”是什么?

大咖说

人工智能 商业化

开源一夏 | AngularJS对于SQL的操作心得以及DOM的研究

恒山其若陋兮

开源 8月月更

动手实操,让你的 Kubernetes 集群弹起来!

以尘

弹性 ACK Kubernetes 集群 ClusterAutoscaler Erda

Linux实用命令lsof命令

flow

8月月更

高效能团队的Java研发规范(进阶版)

木小风

编程规范 Java core

私有化输出的服务网格我们是这样做的

阿里巴巴云原生

阿里云 Kubernetes 云原生 服务网格

Java将PDF拆分为多个 PDF 文件

在下毛毛雨

Java PDF 拆分PDF

七、《图解HTTP》- HTTP首部和HTTP协作服务器

懒时小窝

HTTP 图解https

王熙凤穿越到 2022 年,一定会采购的单点登录服务

Authing

MobTech ShareSDK 使用简介

MobTech袤博科技

开发者 sdk MobTech袤博科技

开源一夏 | 使用 JavaScript 的响应式计数器动画

海拥(haiyong.site)

开源 8月月更

新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付

阿里巴巴云原生

阿里云 Serverless 云原生 合作案例

ASP.NET Core SignalR概述

辣么大

.net SignalR 8月月更

一篇文章让你重学HTTP!

Albert Edison

https 计算机网络 HTTP 8月月更

Python图像处理丨带你掌握图像几何变换

华为云开发者联盟

Python 人工智能

C#/VB.NET:在不同Excel工作簿之间复制单元格区域和工作表

Geek_249eec

C# Excel VB.NET 单元格区域 工作表

六、《图解HTTP》- 用户身份认证

懒时小窝

HTTP 图解https

GitLab 自动删除项目?仅需四步,丝滑迁移至极狐GitLab

极狐GitLab

git DevOps gitlab 敏捷开发 极狐GitLab

四、《图解HTTP》- 状态码

懒时小窝

HTTP 状态码 图解https

五、《图解HTTP》- RSS和网络攻击

懒时小窝

HTTP 图解https

巨细靡遗流程控制,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang流程结构详解EP09

刘悦的技术博客

Go 教程 Go web go语言 Go 语言

【SimpleFunction系列二.2】SpringBoot注解整合Redisson分布式锁

莫逸风

分布式锁 redisson 分布式锁 企业级应用

【SimpleFunction系列二.3】Redisson分布式锁8种锁模式剖析

莫逸风

分布式锁 redisson 分布式锁

N、《图解HTTP》读书笔记 - 附录

懒时小窝

资料 图解https 参考数据

终、《图解HTTP》读书笔记 - 汇总篇(总结)

懒时小窝

读书笔记 读书 HTTP 图解https #读书

共建共享数字世界的根:阿里云打造全面的云原生开源生态

阿里巴巴云原生

阿里云 开源 容器 RocketMQ 云原生

场景品牌易观千帆,助力数智化需求持续升级

易观分析

数字经济 数智化

二、《图解HTTP》- HTTP协议历史发展(重点)

懒时小窝

HTTP 图解https

三、《图解HTTP》- 报文内的 HTTP信息

懒时小窝

HTTP 图解https

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