共计 1511 个字符,预计需要花费 4 分钟才能阅读完成。
提倡原生利用开发的观点认为,网络浏览器在拜访硬件方面存在很多局限性。然而,最近谷歌、微软和 Mozilla 推出了一些乏味的技术:
- 剪贴板 API
- Presentation API 能够检测内部显示器是否关上,
- Web Share API 用于在社交网络中分享页面
- Web 蓝牙 API 可用于与左近的物理设施集成。例如,物联网解决方案能够应用它。
通用传感器 API 用于与传感器一起工作,例如加速度计、陀螺仪、光传感器、指南针等。
https://whatwebcando.today/ 是一个很好的资源,它列出了浏览器中最新实现的性能。能够设想的是,Web 应用程序将从原生应用程序中获取越来越多的货色。
多平台桌面软件 (multi-platform desktop software
) 有相似的技术:Electron。
例如,Skype 和 Atom 是用 Electron 构建的。Electron 通过将 Chromium 和 Node.js 组合成一个繁多的运行时 (single runtime) 来实现这一点,并且能够为 Mac、Windows 和 Linux 打包应用程序。
早在 2015 年底,谷歌就公开了一种令 web 利用开发人员兴奋的开发新办法,这预示着将解脱行业中普遍存在的性能受限现状和平台锁定设计。
这种新办法被失当地称为 progressive web app
或 PWA.
这个概念带来了提供将网络的最佳品质与原生应用程序相结合的体验承诺。
PWA 不是一个框架或工具集,而是一个概念,是开发人员须要在应用程序中实现的一组性能,以便将应用程序的用户体验晋升到一个新的程度上。
咱们能够称某网站 在某种程度上
是 PWA. 它满足的 PWA 清单中的性能越多,它就越靠近这个概念。
换句话说,开发人员手中具备开发工具,比方 Service Worker、Push Notifications 等,并且明确致力的指标:开发出疾速、牢靠、吸引用户的应用程序。
开发人员可能将一个应用程序的 PWA 个性实现到何种水平,齐全取决于其本身破费的工夫和精力。一个应用程序合乎 PWA 个性的水平,也称之为 PWA-ness
.
PWA 的次要特点是:
- 渐进加强(Progressive enhancement):应用程序在尽可能多的环境中运行。如果它须要服务,它应该应用任何可用的服务,并在没有服务的状况下优雅地降级。
- 响应式用户界面(Responsive user interface):该应用程序适应各种输出形式(触摸、语音等)和输入形式(不同的屏幕尺寸、振动、音频、盲文显示等)。
- 连贯独立性(Connectivity-independence):该应用程序在离线状态下以及间歇性或低带宽网络连接下也能运行良好。
- App-like UI:应用程序采纳原生平台的 UI 元素,包含疾速加载的用户界面(能够通过 Service Worker 缓存重要的 assets 来实现)。
- 继续更新(
Continuous updates,有时也称 freshness
):Service Worker API 定义了一个将应用程序自动更新到新版本的过程。 - 平安通信:该应用程序通过 HTTPS 提供服务和通信,以避免窥探和攻打。
- 应用程序发现:W3C 网络应用程序清单等元数据,使搜索引擎可能找到网络应用程序。
- 推送交互(Push interaction):推送告诉等性能能够被动让用户理解最新信息。
- 本机可安装性(Natively installable):在某些平台上,能够装置 Web 应用程序,使其感觉像本机应用程序(主屏幕上的图标,应用程序切换器中的独自条目,浏览器 chrome 可选)。所有这些过程都无需通过本机应用程序商店来进行。
- 可链接性(Linkability):通过 URL 轻松共享应用程序,无需装置即可运行。