PWA的了解

参考链接:https://blog.csdn.net/a44496913/article/details/80154254

什么是PWA

PWA是Progressive Web APP的英文缩写,翻译为渐进式增强WEB应用。
目的是在移动端利用提供的标准化框架,在网页应用中实现和原生应用相近的用户体验的渐进式网页应用。

PWA的特点

1.可靠——即使加载,即使在不确定的网络条件下也不会受到影响。
当用户从主屏幕启动时,service work可以立即加载渐进式Web应用程序,完全不受网络环境的影响。service work就像一个客户端代理,它控制缓存以及如何响应资源请求逻辑,通过预缓存关键资源,可以消除对网络的依赖,确保为用户提供即时可靠的体验。

2.快速

3.沉浸式体验——感觉就像设备上的原生应用程序,具有沉浸式的用户体验。
渐进式Web应用程序可以安装并在用户的主屏幕上,无需从应用程序商店下载安装。他们提供了一个沉浸式的全屏幕体验,甚至可以重新与用户接触的Web推送通知。

优劣势

优势:

1.无需安装,无需下载,只要你输入网址访问一次,然后将其添加到设备桌面就可以持续使用。
2.发布不需要提交到app商店审核
3.更新迭代版本不需要审核,不需要重新发布审核
4.现有的web网页都能通过改进成为PWA,能很快的转型,上线,实现业务、获取流量
5.不需要开发Android和IOS两套不同的版本
6.Web应用程序中,可以通过manifest.json控制应用程序的显示方式和启动方式,指定主屏幕图标、启动应用程序时要加载的页面、屏幕方向,甚至可以指定是否显示浏览器Chrome。

劣势:

1.游览器对技术支持还不够全面,不是每一款游览器都能100%的支持所有PWA
2.需要通过第三方库才能调用底层硬件(如摄像头)
3.PWA现在还没那么火,国内一些手机生产上在Android系统上做了手脚,似乎屏蔽了PWA, 但是相信当PWA火起来以后,这个问题就不会是问题
4.iOS目前支持不了PWA,由于苹果WebKit不对外提供一些核心API。(iOS 11.3 版本中,苹果公司悄悄地增加了基于“渐进增强 Web 应用程序”)

相比较原生应用的限制

iOS:

1.PWA 应用只能存储50 Mb 的离线数据和文件
2.如果用户几周不使用某个 PWA 应用,iOS 会释放该应用文件。虽然图标还是会显示在主屏幕上,但是当点击进去,将会重新下载该 PWA 应用
3.无法使用一些特性,比如蓝牙、序列端口、信标、Touch ID、Face ID、ARKit、高度传感器与电池信息,这需要等到 Web 平台提供了相应新特性你才能使用。
4.无法在后台访问执行代码
5.无法访问隐私信息(联系人、位置),也无法访问本地社交应用
6.没有应用内支付和许多其它基于苹果的服务
7.在 iPad 上,无法使用 Side 或 Split Views 与其它应用共享屏幕,PWA 应用始终占用整个屏幕
8.没有推送通知,没有 icon badge(在应用 icon 上显示小红点)与 Siri 集成

Android:

1.在安卓上,你可以存储超过50 Mb 的东西
2.如果你不使用该应用,安卓不会删除它的文件,但是在手机存储不够时会删除。同时,如果用户安装或使用频繁,PWA 应用可以请求永久存储
3.为 BLE 设备接入蓝牙
4.通过 Web 共享访问本地共享对话框
5.语音识别
6.后台同步和网页推送通知
7.通过 Web App Banner 邀请用户安装 PWA 应用
8.你可以在一定程度上自定义想要的启动画面和方向
9.使用 WebAPK 和 Chrome,用户只能安装同个 PWA 应用的一个实例
10.使用 WebAPK 和 Chrome,PWA 应用显示在设置界面中,你还可以看到数据的使用情况;在 iOS 系统中,这些都体现在 Safari 中
11.使用 WebAPK 和 Chrome,PWA 应用管理着 URL 的用途,如果你得到一个指向 PWA 应用的 URL,它将会在 standalone 模式下打开,而不是在浏览器的窗口中

PWA 应用可以在 iOS 系统上做什么?

1.用户可以在安装之前更改应用图标的名字
2.可以在 configuration profile 页面进行配置,这样用户就可以从公司获取 PWA 应用的快捷方式(这一点很好!)。Safari 使用术语 WebClip 来描绘这个特征,然而根据文档来看,似乎并不能读取 Web App Manifest

图片

Configuration Profiles 可以包括 WebClips 或 PWA 图标

没有 App Store,那怎么安装 PWA?

1.用户必须在 Safari 中以某种方式访问你的 PWA 链接,并手动点击分享图标,然后点击“添加到主屏幕”。没有任何迹象表明你访问的网站是 PWA 应用。
2.为用户提供安装教程,务必注意这些按钮会根据系统语言进行本地化调整。
3.同时,在 App Store 中会有其它非自带浏览器,像 Chrome、火狐、Brave 和 Edge 是无法安装 PWA 应用的,它们也无法使用 Service Workers。
4.当然,大部分 Web 应用会提供一个链接,让你可以从 App Store 中安装原生应用,PWA 应用中也有这样一个链接

牢记这几点

1.你的 PWA 应用在不同的会话中无法保存状态。如果用户离开 PWA 应用再次回来的时候,它将会重启。所以,如果你需要用户验证邮箱、短信或者双因子认证,记住给用户提供一个合适的解决方案。
2.不活动的 PWA 应用将会显示为白屏。这时它并没有在运行,并且如果切换回它们,应用将会重启。

你可能感兴趣的:(PWA的了解)