PWA 作为一种新兴的技术,在这些方面有着怎样独特的表现呢?最近对 PWA 比较感兴趣,比较关注PWA 与操作系统、用户输入以及位置定位之间的联系,今天就和大家一起聊下这个话题,看看它是如何在不同领域发挥作用,为我们带来全新的网络应用体验。
一、PWA 与操作系统
离线存储
Web 应用程序的离线存储功能经历了多次迭代,早期的尝试有的只是简单办法,像把数据存到 cookie 里,有的则需要额外软件。后来出现过 Web SQL 的想法,在一些浏览器中实现过,但因标准化难题被弃用。目前有三种不同且独立的技术已标准化可用。最简单的是 Web Storage,能让 Web 应用程序持久跨窗口存储数据或在单个浏览器选项卡中存储单一会话数据。更复杂的 IndexedDB 是基于类似数据库结构的底层 API。而最新的 Cache API 主要在 Service Worker 实现中用于保存请求和响应对。任何持久性存储中数据的实际持久性由浏览器管理,在内存压力下可能被删除。为解决这个问题,Storage API 出现了,它让 Web 应用程序能在用户允许下以可靠方式存储数据。
文件访问
File Access API 使 Web 应用程序能访问用户决定与其共享的文件的文件系统级只读信息,无需将文件传至服务器。
存储配额
Storage Quotas 用于通过 Google Chrome 查询系统当前及可供应用程序使用的存储空间大小。最新的 Quota Estimation API 还包括一种请求浏览器保留所存储数据的方法,请求此持久存储功能的权限可能由浏览器基于启发式授予,也可能需要明确的用户同意。旧的实现仅在带有 webkit – 前缀的 Chrome 中受支持,用于保持临时存储和持久存储的分离,并允许 Web 应用程序在需要时请求更多存储空间。
二、PWA 与用户输入
触摸手势
传统上,Web 主要靠鼠标和键盘输入,而移动设备以触摸控制为主。移动 Web 起初将触摸事件转换为鼠标事件,后来 HTML5 把 touch 作为主要输入方式,让 Web 应用程序能拦截和识别复杂的多点触摸手势等。目前有通过触摸事件或更通用的指针事件规范两种方式,苹果公司后来将其标准化。
语音识别
Web Speech API 的语音识别部分让授权的 Web 应用程序能访问设备麦克风并生成语音文字记录,使语音成为输入和控制方法之一。也可通过访问麦克风并用 Web Audio API 处理音频流实现,如 pocketsphinx.js 库。
剪贴板
Clipboard API 为 Web 应用程序提供对剪切、复制和粘贴操作做出反应及直接读写系统剪贴板的方法。有新旧两种类型的剪贴板 API,新的 API 限于 HTTPS 且需明确用户权限才能粘贴,旧的 API 因隐私问题在大多数浏览器中粘贴功能不再可用。
指点设备适配
CSS4 规范的交互媒体部分定义了媒体查询,让 Web 应用程序能根据用户交互方式改变布局和用户界面,可识别浏览器主指针并决定界面显示方式。
取色器
EyeDropper API 允许用户用吸管工具从屏幕上捕获样本颜色,与基于 Chromium 的桌面浏览器上的不同,它提供了选择整个设备屏幕颜色的简单界面。
三、PWA 与位置定位
地理位置
Geolocation API 让授权的 Web 应用程序访问设备提供的位置数据,可进行一次性位置查询和接收位置变化通知。
设备位置
第一代设备位置支持是 Device Orientation API 的一部分,能让 Web 应用程序访问陀螺仪和指南针数据确定设备静态方向。新的方向传感器 API 基于 Generic Sensor API,提供以四元数表示的读数,与 WebGL 等绘图环境兼容。
设备运动
第一代设备运动支持是 Device Orientation API 的一部分,能让 Web 应用程序访问加速度计和陀螺仪数据。自 2018 年中期以来,有基于通用传感器 API 的更新规范,可直接访问物理设备读数及通过组合物理传感器组成的高级融合传感器读数。
PWA 在与操作系统、用户输入和位置定位的交互中展现出强大的适应性和潜力。它让 Web 应用更加智能、便捷,为用户带来更丰富的体验,相信未来在 PWA 不断优化和创新下,PWA与更多先进技术融合,无论是在工作、学习还是生活中,PWA 都会让我们的生活更加方便。
未经允许不得转载:WebApp中文站-PWA平台 » PWA 与操作系统及用户输入、位置定位的关系