# PWA **Repository Path**: ifredom/PWA ## Basic Information - **Project Name**: PWA - **Description**: PWA中文网 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-21 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PWA(Progressive Web Apps) ## 创建第一个PWA程序 1. ### [介绍](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/1.introduction.md) PWA,全称为Progressive Web Apps,意为渐进式Web应用程序。 渐进式Web应用程序致力于把最好的Web和最好的应用程序结合起来,带给用户更棒的体验。在浏览器选项卡的第一次访问时对用户很有用,并且不需要额外安装。随着用户逐步建立与应用程序的关系,PWA变得越来越强大,并且加载速度相当快,甚至可以发送应用相关的推送通知,在主屏幕上有一个图标,会作为顶级的全屏体验加载。 2. ### [安装](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/2.gettingSetUp.md) [下载体验](https://github.com/googlecodelabs/your-first-pwapp/archive/master.zip) 3. ### [创建](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/3.Architet_Your_App_Shell.md) 使用app Shell架构可以让您专注于提升速度,让您的渐进式Web应用程序拥有类似于本机应用程序的特性:即时加载和定期更新,而不需要应用程序商店。 4. ### [运行](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/4.Implement_your_App_Shell.md) 为了使我们的项目尽可能简单,更易于上手开发渐进的Web应用程序,我们已经为您提供了所有需要的[资源](https://developers.google.com/web/tools/starter-kit/)。 5. ### [高速首次加载特性](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/5.Start_with_a_fast_first_load.md) 渐进式Web应用程序应该快速启动并立即可用。但目前来说,PWA应用程序启动很快,但它不可用,没有数据。我们可以发出一个AJAX请求来获取这些数据,但是这会导致一个额外的请求,并使初始加载时间更长。所以在第一次加载时提供真实的数据最佳。 6. ### [使用Service worker缓存数据](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/6.Use_service_workers_to_pre-cache_the_App_Shell.md) 渐进式Web应用程序要快速启动运行,这意味着它必须能够在线运行,离线运行,和间歇性的运行,并且连接速度不必太快。为了实现这一点,我们需要使用服务人员缓存我们的应用程序数据,以便它总是快速可靠地可用。 [拓展阅读:什么是Service worker?](http://zhenhua-lee.github.io/http/service-worker.html) 7. ### [使用何种Service worker缓存策略](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/7.Use_service_workers_to_cache_the_forecast_data.md) 为您的数据选择正确的缓存策略至关重要,这取决于应用程序的数据类型。例如,像天气或股票行情这样的时间敏感数据应该尽可能更新,而头像图像或文章内容可以不经常更新。 8. ### [支持本地集成](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/8.Support_native_integration.md) 若非必要,没有人喜欢在手机键盘上输入太长的内容。 通过添加到主屏幕的功能,用户可以选择是否添加快捷方式到他们设备的主屏幕,这就像他们从商店安装本地应用程序一样,但是更为轻便。 9. ### [部署](https://github.com/ifredom/PWA/blob/master/1.First_PWA_App/9.Deploy_to_a_secure_host_and_celebrate.md) 最后一步是将我们的应用程序部署到支持HTTPS的服务器上。 如果您还没有,那么最简单(免费)的方法就是使用从Firebase托管的静态内容。 使用起来非常简单,通过HTTPS提供内容,并由全球CDN提供支持。