首页 > 其他分享 >PWA 技术诞生的前世今生漫谈

PWA 技术诞生的前世今生漫谈

时间:2023-01-23 22:14:20浏览次数:61  
标签:Web 今生 Service 开发人员 漫谈 应用程序 API PWA

倡导原生应用开发的观点认为,网络浏览器在访问硬件方面存在很多局限性。然而,最近谷歌、微软和 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 轻松共享应用程序,无需安装即可运行。

标签:Web,今生,Service,开发人员,漫谈,应用程序,API,PWA
From: https://www.cnblogs.com/sap-jerry/p/17065594.html

相关文章

  • Service Worker 在 PWA 中的应用
    有些开发人员认为,使用Web应用程序PWA特性的最大收益是应用程序安装横幅,即appinstallbanners.开发人员可以通过正确的启发式方法(hittingtherightheuristics)获......
  • 业界三款主流的 PWA Storefront 概述
    任何电子商务解决方案都可以使用任何PWA-Ready框架进行部署,或是通过移动UI库从头开始实施。但是,后者肯定会比使用专门的产品花费更多的时间和资源。下面是电商领域三......
  • Git分支的前世今生
    几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——......
  • 关于 Spartacus 开源 Storefront 在 PWA 模式下运行时的 index.html hash mismatch 问
    Spartacus开源项目提供将Angular实现的电商Storefront站点作为PWA运行的功能。这提高了用户性能,改善了用户体验,添加了另一个缓存层并减少了服务器端渲染(SSR)服......
  • 透视华为云云原生数据库的前世今生及未来演进,能给行业带来哪些启发?
    摘要:通过云服务形式提供数据库功能的云数据库应运而生,但这还仅仅是数据库变革的开端。本文分享自华为云社区《​​透视华为云云原生数据库的前世今生及未来演进,能给行业带来......
  • 透视华为云云原生数据库的前世今生及未来演进,能给行业带来哪些启发?
    摘要:通过云服务形式提供数据库功能的云数据库应运而生,但这还仅仅是数据库变革的开端。本文分享自华为云社区《透视华为云云原生数据库的前世今生及未来演进,能给行业带来哪......
  • 耗时统计--StopWatch
    耗时统计在做性能优化的时候,耗时统计非常有用。分析出时间主要消耗在哪里,才能够做出相应的优化。System.currentTimeMillis()平常我们在做耗时统计时,经常会用System.c......
  • 琐碎的想法(五)for 的前世今生
    for起因记得大学上C语言的课,第一次遇到的问题就是循环结构里面的for。选择结构的if非常易懂,和日常生活的判断没有区别。循环结构的while同样比较好理解。本质上......
  • 【带你读论文】向量表征经典之DeepWalk
    摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。本文分享自华为云社区《[论文阅读](25)向量表征经......
  • ESNI 和ECH的前世今生
    ​​这边文章​​中提到过虽然TLS能够加密整个通信过程,但是在协商的过程中依旧有很多隐私敏感的参数不得不以明文方式传输,其中最为重要且棘手的就是将要访问的域名,即SNI(S......