什么是app shell?
应用程序的shell是为渐进式Web应用程序的用户界面提供动力所需的最小HTML,CSS和JavaScript,并且是确保可靠性能良好的组件之一。 它的第一次加载应该非常快,并立即缓存。“缓存”表示shell文件通过网络加载一次,然后保存到本地设备。用户打开应用程序的每个后续时间都会从本地设备的缓存加载shell文件,从而导致启动速度极快。
App shell架构将核心应用程序基础架构和UI与数据分开。使用服务工作程序在本地缓存所有UI和基础结构,以便在后续加载时,Progressive Web App只需要检索必要的数据,而不必加载所有内容。
一个服务人员为您的浏览器在后台运行,从网页分离,开门不需要的网页或用户交互功能的脚本。
换句话说,app shell类似于在构建本机应用程序时发布到应用商店的代码包。它是让您的应用程序开始运行所必需的核心组件,但可能不包含数据。
为什么要使用App Shell架构?
使用app shell架构,您可以专注于速度,为您的Progressive Web App提供与本机应用程序类似的属性:即时加载和定期更新,所有这些都不需要应用程序商店。
设计App Shell
第一步是将设计分解为其核心组件。
问你自己:
- 什么需要立即在屏幕上?
- 其他UI组件对我们的应用程序至关重要?
- app shell需要哪些支持资源?例如图像,JavaScript,样式等。
我们将创建一个Weather应用程序作为我们的第一个Progressive WebApp。关键部分包括:
- 带标题的标题,以及添加/刷新按钮
- 预测卡的容器
- 预测卡模板
- 用于添加新城市的对话框
- 装载指示器
在设计更复杂的应用程序时,可以稍后请求初始加载不需要的内容,然后缓存以供将来使用。 例如,我们可以推迟加载New City对话框,直到我们呈现第一次运行体验并且有一些空闲周期可用。
以上文字来源于developers.google.com.
未完待续。。