PWA(Progressive Web Apps)学习整理

Google在2015年提出,2016年6月开始推广的项目。
PWA的关键组成部分是Service Worker

特点:
消息通知推送
可作为应用卡片出现在多任务管理界面
离线缓存,离线体验
多平台均可使用
类似原生应用的交互体验
使用浏览器打开网址,选择浏览器中‘添加至主屏幕’功能
不需要通过应用商店进行打包部署,只是汲取了所需要的原生功能的网站而已
IOS上web平台可调用API:相机,地理信息定位,传感器,音频输出,语音合成(仅耳机),ApplePay
IOS安装前可修改PWA的名字
只有原装浏览器才可以安装PWA

IOS限制:
无法应用:蓝牙,TouchId,FaceId,ARKit,电池信息
只能存储最多50Mb的离线数据和文件
在iPad上,无法使用分屏,PWA始终占满全屏
几周不使用PWA,ios将释放缓存文件,桌面图标还在,但是下次访问时会重新缓存文件

Android
可以存储超过50Mb的数据和文件
不会再很久不用这个PWA的时候删除缓存,只有在存储空间不足时删除
可以访问蓝牙
语音识别
可以自定义PWA启动画面和决定横屏还是竖屏
一个PWA只能安装一次
PWA会出现在设置中,并且可以看到数据使用量

  • 渐进式 - 适用于选用任何浏览器的所有用户,因为它是以渐进式增强作为核心宗旨来开发的。
  • 自适应 - 适合任何机型:桌面设备、移动设备、平板电脑或任何未来设备。
  • 连接无关性 - 能够借助于服务工作线程在离线或低质量网络状况下工作。
  • 类似应用 - 由于是在 App Shell 模型基础上开发,因此具有应用风格的交互和导航,给用户以应用般的熟悉感。
  • 持续更新 - 在服务工作线程更新进程的作用下时刻保持最新状态。
  • 安全 - 通过 HTTPS 提供,以防止窥探和确保内容不被篡改。
  • 可发现 - W3C 清单和服务工作线程注册作用域能够让搜索引擎找到它们,从而将其识别为“应用”。
  • 可再互动 - 通过推送通知之类的功能简化了再互动。
  • 可安装 - 用户可免去使用应用商店的麻烦,直接将对其最有用的应用“保留”在主屏幕上。
  • 可链接 - 可通过网址轻松分享,无需复杂的安装。

  • 国内IPhone不在少数,而IOS11.3才支持PWA的
  • 国内Android系统,大部分早已把Google框架移除了,所以兼容性会出问题
  • 推送依赖于GCM,而国内Google是无法访问的


支持性:
PWA只支持https
UC浏览器是首个支持PWA的国内浏览器
各大浏览器对PWA支持参差不齐
IOS直到11.3beta才支持sw
国内没有可用的Web Push服务器

国内PWA应用:
新浪微博(m.weibo.cn/beta)
饿了么(https://h5.ele.me)
国外PWA应用:
印度最大电商Flipkart (flipkart.com)
摄影录像软件Instagram(https://www.instagram.com/)
官网: https://developers.google.com/web/progressive-web-apps/ (需要)







你可能感兴趣的:(技术调研)