写点什么

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

评论

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

ARTS 打卡第1周(8.14~8.20)

向东是大海

ARTS 打卡计划 arts

ARTS 打卡第 8 天

自由

ARTS 打卡计划

无需MAC电脑就可以上传ipa文件到AppStore开发者中心

初雪CIoud

手把手教你如何挑选适合你的AI编程辅助工具

飞算JavaAI开发助手

七月 NFT 行业解读:游戏和音乐 NFT 引领增长,Opepen 掀起热潮

Footprint Analytics

区块链游戏 NFT 链游

华为云828营销季即将来袭,快来解锁明星产品优惠福利!

平平无奇爱好科技

倒计时 1 天!CommunityOverCode Asia 2023 参会攻略出炉,共享开源盛宴

Apache IoTDB

分析商务报表使用什么工具?

对不起该用户已成仙‖

面部表情识别:从实验室到现实世界的应用

数据堂

VisualStudio打包项目文件为.exe安装包

芯动大师

面部表情识别:人工智能的新前沿

数据堂

史上最全!80个数字化工厂常见术语合集,看完秒懂~

优秀

数字化转型 数字化工厂

解构软件开发中的破窗效应

互联网工科生

敏捷开发 软件开发 破窗效应

低代码平台怎么选?5大通用要素可以参考

互联网工科生

软件开发 低代码

在线一键生成安卓证书keystore 文件

面部表情识别的伦理问题与挑战

数据堂

微服务最佳实践,零改造实现 Spring Cloud & Apache Dubbo 互通

阿里巴巴云原生

Apache 阿里云 云原生 dubbo spring coud

报表分析工具瓴羊Quick BI企业适用吗?

夜雨微澜

Kyligence x 百胜数睿|电商全渠道运营增长新利器

Kyligence

数智化 指标平台

MySQL切换字符集引发的思考(一)

石小天

MySQL 数据库 运维

【华秋干货铺】DDR电路的PCB布局布线要求

华秋电子

PCB板

教学实训平台,新增批量设置作业小组|ModelWhale 版本更新

ModelWhale

人工智能 数据分析 组织协同 教学实训 在线编程

澳鹏高精度AI辅助数据标注平台推出全新SaaS版本

澳鹏Appen

人工智能 SaaS 数据标注

四项代表厂商,Kyligence 入选 Gartner 数据及人工智能相关领域多项报告

Kyligence

数据分析 指标建设

坚持梦想,心向光明

何元

ARTS 打卡计划 个人感悟

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