“渐进式 Web 应用” 到底是什么?说真的。
今天早上,我本来想写一篇文章,概述一些关于实现渐进式 Web 应用 (PWA) 的技巧。但当我开始介绍这个主题时,我又遇到了最初最难的部分:我很难描述什么是渐进式 Web 应用。
我提出这个问题并非出于无知。我们为dev.to实现了一个 PWA ,如果你在 Android Chrome 上访问这个网站,你应该会看到一个安装我们应用的提示。
那么什么是 PWA?Google 官方是这样介绍的:
渐进式 Web 应用程序是一种具有 Web 覆盖范围的用户体验,并且:
- 可靠 - 即使在网络条件不确定的情况下也能立即加载并且不会显示 downasaur。
- 快速 - 通过流畅的动画快速响应用户交互,并且不会出现卡顿滚动。
- 引人入胜——感觉就像设备上的自然应用程序,具有身临其境的用户体验。
这种新的质量水平使得渐进式 Web 应用程序能够在用户的主屏幕上占有一席之地。
这些品质在我们着手实现这些之前就已经具备了,那么什么是渐进式 Web 应用呢?谷歌一直在用“质量”这个词来描述,这让我非常困惑。他们似乎真的想让 PWA 成为一个通用术语,不指代任何特定的实现,并专注于用户体验,但我在网上看到的却都是关于这些术语含义的困惑。我的网站已经“引人入胜”且“身临其境”,这是否意味着它就是 PWA?他们提到了“应用安装横幅”,这似乎是重点,但如果这就是它的意义所在,为什么他们要隐藏这些信息?PWA 是一种抽象模式,还是与安装部分有关,还是两者兼而有之?
也许 PWA 的初衷是包容许多技术方法,所以它们需要比较模糊。如果只是源文档这样,或许还好,但我觉得网络上散布的其他介绍和操作指南都使用了这种模糊的语言,导致混乱的情况激增。
在社交场合说“等等,我完全不懂”是很困难的,因为你不知道其他人是不是都懂,而你才是那个傻瓜。在PWA领域,我确实觉得很多人点头附和,以为其他人都懂PWA是什么,而他们肯定忽略了什么。你懂的,冒名顶替综合症。
沟通很困难,命名更是难上加难,而 Chrome 团队正在努力工作。我非常喜欢他们,所以我只想表达一下,我个人觉得他们发布的一些技术确实很难理解。我认为这不仅限于 PWA。AMP(加速移动页面)也遵循了类似的趋势,比如“等等,这些是干什么用的?你用它们做什么?”
谷歌在这场混乱中扮演着核心角色,因为他们是最积极地试图模糊开放网络与其平台之间界限的组织。谷歌模糊了“与谷歌产品交互的工具”与“网络开发的方向或理念”之间的界限。这很难理解。
再说一次,我是从已经构建过 PWA 的角度来说的。我认为我们这样做完全是出于正确的理由。我认为它很有效,因为大约三分之一的访客在看到安装通知后会安装。这个数字很高。
但我对这些都还不确定。等我把这些都想清楚了,我一定会写出我最初想写的那篇文章。
文章来源:https://dev.to/ben/what-the-heck-is-a-progressive-web-app-seriously-923