doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:5882回复:0

[其它]PWA的简介

楼主#
更多 发布于:2020-02-06 21:31
一、什么是PWA应用

一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。
官网:https://developers.google.com/web/progressive-web-apps/ 是 Google 在 2015 年提出,2016年6月才推广的项目。是结合了一系列现代Web技术的组合,在网页应用中实现和原生应用相近的用户体验。官网上给出 PWA 的宣传是 : Reliable ( 可靠的 )、Fast( 快速的 )、Engaging( 可参与的 )
Reliable :当用户从手机主屏幕启动时,不用考虑网络的状态是如何,都可以立刻加载出 PWA。
Fast:这一点应该都很熟悉了吧,站在用户的角度来考虑,如果一个网页加载速度有点长的话,那么我们会放弃浏览该网站,所以 PWA 在这一点上做的很好,他的加载速度是很快的。
Engaging : PWA 可以添加在用户的主屏幕上,不用从应用商店进行下载,他们通过网络应用程序 Manifest file 提供类似于 APP 的使用体验( 在 Android 上可以设置全屏显示哦,由于 Safari 支持度的问题,所以在 IOS 上并不可以 ),并且还能进行 ”推送通知”


二、PWA应用于原生APP对比优缺点


那PWA和原生应用相比到底有何竞争力呢?我们分别看一下原生应用和PWA的特点:
原生应用:
  • 使用原生SDK和开发工具开发
  • 需要考虑跨平台,不同系统往往需要独立开发
  • 需要发布到应用商店才能下载使用
  • 可以安装到手机主屏,生成应用图标
  • 直接运行于操作系统上,访问系统资源方便
  • 可以离线使用
  • 可以获取消息通知
PWA应用:
  • 使用HTML,CSS,JS开发
  • 无需考虑跨平台,只需要考虑浏览器兼容性
  • 通过url访问,无需发布到应用商店
  • 可以安装到手机主屏,生成应用图标
  • 运行于浏览器中,可访问系统资源
  • 可以离线使用
  • 可以获取消息通知
可以发现PWA具备了原生应用的主要能力,但是开发流程却比原生应用更加简洁:a. html/css/js的群众基础更好,开发效率更高;b. 省去了为不同系统开发独立版本的大量成本;c. 省去了上架到应用市场的繁琐流程;d. 无需前往应用商店下载,用户使用起来也更加方便。但是值得注意的是,PWA还是相对比较新的技术,实现规范还有很多调整的空间,部分浏览器对PWA的支持也还不完善,但是PWA是一个趋势


三、PWA应用

PWA关键技术
Service Worker (可以理解为服务工厂)
Manifest (应用清单)
Push Notification(推送通知)
Service Worker
以下用SW来表示
SW 是什么呢?这个是离线缓存文件。我们 PWA 技术使用的就是它!SW 是浏览器在后台独立于网页运行的脚本,它打开了通向不需要网页或用户交互的功能的大门,因为使用了它,才会有的那个 Reliable 特性吧,SW 作用于 浏览器于服务器之间,相当于一个代理服务器。
**顺便带一句:**目前只能在 HTTPS 环境下才能使用SW,因为SW 的权利比较大,能够直接截取和返回用户的请求,所以要考虑一下安全性问题。


参考:
什么是PWA---https://www.jianshu.com/p/299c9c720e56
PWA入门:手把手教你制作一个PWA应用---https://www.cnblogs.com/fundebug/p/pwa-tutorial.html
PWA应用---https://blog.csdn.net/qq_32447301/article/details/82907632
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号