大模型“四虎”出山,亮相 4 月 QCon 北京。 了解详情
写点什么

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

评论

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

首个!AI开发者创作激励计划开启,有成长、有收入

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

C++ 测试框架 GoogleTest 初学者入门篇

不在线第一只蜗牛

编程 测试框架 C++

24款好用的电脑画图软件推荐,总有一款适合你!

彭宏豪95

效率工具 软件 流程图 画图软件 绘图工具

IPQ5018 SoC with QCN9074 VS QCN6122|IIOT Wifi6 solution|Wallys

wallyslilly

ipq5018

基于知识图谱的电影知识问答系统:训练TF-IDF 向量算法和朴素贝叶斯分类器、在 Neo4j 中查询

汀丶人工智能

人工智能 自然语言处理 深度学习 知识图谱 智能问答

用友iuap:最懂企业级技术,更懂企业级业务

用友BIP

国产替代

华为云MetaStudio全新升级,盘古数字人大模型助力数字人自由

华为云开发者联盟

人工智能 华为云 数字人 华为云开发者联盟 企业号 7 月 PK 榜

领域知识图谱的医生推荐系统:利用BERT+CRF+BiLSTM的医疗实体识别,建立医学知识图谱,建立知识问答系统

汀丶人工智能

人工智能 自然语言处理 深度学习 知识图谱 智能问答

我和敏捷有点缘

ShineScrum

敏捷教练

柏睿数据:以自主可控的智能算力引擎服务数据产业创新发展

新消费日报

消费品行业全面预算管理领先实践

用友BIP

全面预算

ScaleBit 与 NFTScan 达成安全生态合作伙伴关系

NFT Research

安全 NFT\

数据孤岛、系统林立,这些顽疾瓴羊想要全搞定

ToB行业头条

AIGC时代:未来已来

EquatorCoco

人工智能 AIGC

成就数智企业,用友助力中国企业迈向高质量发展

用友BIP

国产替代

Linux和Windows系统下安装深度学习框架所需支持:Anaconda、Paddlepaddle、Paddlenlp、pytorch,含GPU、CPU版本详细安装过程

汀丶人工智能

人工智能 paddle Anaconda 深度学习框架 PyTorch

数据安全没保证?GaussDB(for Redis)为你保驾护航

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

从大数据到AI,华为云存储加速企业大模型快速应用

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

衡阳等保测评中心地址在哪里?电话多少?

行云管家

等保 等级保护 等保测评 衡阳

大咖论道,大模型时代软件研发效率革命

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

万字详解 | Java 函数式编程

不在线第一只蜗牛

函数式编程 java 编程

HiveSQL 迁移 FlinkSQL 在快手的实践

Apache Flink

大数据 flink 实时计算

用 Spring 管理 Controller,你觉得可行吗?

江南一点雨

Java spring

新华网专访 | 用友网络:中国企业“出海”要有全球视野 需构建数智化全球人才供应链

用友BIP

人力资源 中企出海

如何评价MyBatis-Flex框架

酱紫的小白兔

深入解读:多人语音聊天室源码开发搭建社交分享功能

山东布谷科技

软件开发 语音聊天室 源码搭建 语音聊天源码 语音聊天

IPQ5018 +QCN9074/QCN6122/QCN6102 high-performance IIOT -2.4G/5G/6G-most comprehensive wifi6

wifi6-yiyi

5G wifi6 QCN9074 6G

统一技术底座助力医疗机构数智化转型

用友BIP

数智底座 技术底座

ChatGPT搭建AI网站实战

快乐非自愿限量之名

网站开发 ChatGPT

秒验丨 REST API:手机号码置换接口

MobTech袤博科技

大数据 前端 后端

克服 ClickHouse 运维难题:ByteHouse 水平扩容功能上线

字节跳动数据平台

云原生 数仓 bytehouse 企业号 7 月 PK 榜

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