网络是一个不可思议的平台。Web 融合了各种设备和操作系统,具有以用户为中心的安全模型,而且其规范和实现都不受一家公司的控制,这使得 Web 成为了开发软件的独特平台。结合其固有的可关联性,您可以随时随地搜索并分享您找到的内容。每当您访问某个网站时,该网站都是最新的,并且您对该网站的体验可能暂时存在,也可能永久存在。借助单个代码库,Web 应用可以访问任何设备上的任何人。
针对特定平台的应用以其极其丰富和可靠而闻名。它们始终会显示在主屏幕、基座和任务栏中。无论网络连接如何,它们都能正常运行。它们以独立的体验形式启动。他们可以从本地文件系统中读取和写入文件,访问通过 USB、串行端口或蓝牙连接的硬件,甚至可以与存储在您设备上的数据(例如联系人和日历活动)进行交互。在这些应用中,您可以执行各种操作,例如拍摄照片、查看主屏幕上列出的歌曲,或者在另一个应用中控制歌曲播放。平台专用应用感觉像是运行其所在设备的一部分。
如果您从功能和覆盖面的角度来看平台专用应用和 Web 应用,则平台专用应用代表最佳功能,而 Web 应用则代表覆盖面最广。那么,渐进式 Web 应用可发挥什么作用呢?
渐进式 Web 应用 (PWA) 使用现代 API 构建和增强,可提供更强大的功能、可靠性和可安装性,同时只需一套代码库即可覆盖任何人随时随地在任意设备上使用。
应用具备的三大支柱
渐进式 Web 应用是功能、可靠且可安装的 Web 应用。这三大支柱可以将它们转换为一种类似平台专用应用的体验。
能
就目前而言,网络本身很强大。例如,您可以使用 WebRTC、地理定位和推送通知构建超本地视频聊天应用。您可以使该应用可安装,并使用 WebGL 和 WebVR 实现其虚拟对话。随着 WebAssembly 的推出,开发者可以利用其他生态系统(例如 C、C++ 和 Rust),并为 Web 引入数十年的工作和功能。例如,Squoosh.app 就将其用于高级图片压缩。
直到最近,只有平台专用应用才能真正声称拥有这些功能。虽然某些功能仍不在 Web 应用之下,但新的 API 和即将推出的 API 正致力于改变这种情况,通过文件系统访问、媒体控件、应用标记和全面的剪贴板支持等功能拓展 Web 的功能。所有这些功能都是以 Web 以用户为中心的安全 Web 权限模型为基础构建的,可确保用户访问网站时不会受到惊吓。
在现代 API、WebAssembly 以及新的和即将推出的 API 之间,Web 应用比以往任何时候都更强大,并且这些功能还在不断增加。
可靠
无论使用哪种网络,可靠的渐进式 Web 应用都会让人感到快速且可靠。
速度对于让用户体验您的体验至关重要。事实上,当网页加载时间从 1 秒增加到 10 秒时,用户跳出的概率会提高 123%。
性能不会在 onload
事件后停止。用户绝不应担心他们的互动(例如点击按钮)是否已注册。滚动和动画应感觉流畅。性能会影响整个用户体验,从用户对应用的看法到应用的实际性能。
最后,无论网络连接如何,可靠的应用都必须能够使用。用户希望应用在网速较慢或不稳定的情况下能启动,甚至在离线状态下也能启动。用户希望他们最近互动过的内容(例如媒体曲目或票券和行程)仍然可用,即使很难向您的服务器发送请求,也是如此。当无法发出请求时,它们希望被告知有问题,而不是静默失败或崩溃。
用户理应拥有能够瞬间响应互动的应用,以及他们信赖的体验。
可安装
已安装的渐进式 Web 应用会在独立窗口(而不是浏览器标签页)中运行。并且可从用户的主屏幕、基座、任务栏或任务栏启动。 用户可以在设备上搜索这些图标,然后使用应用切换器在它们之间切换,让用户感觉它们就像是安装了它们的设备的一部分。
安装 Web 应用后会出现新功能。键盘快捷键(通常在浏览器中运行时预留)可以使用。渐进式 Web 应用可以注册以接受其他应用的内容,也可以注册成为处理不同类型文件的默认应用。
当渐进式 Web 应用移出标签页并移入独立应用窗口时,它会改变用户看待应用以及与之互动的方式。
两全其美
从本质上讲,渐进式 Web 应用只是 Web 应用。现代浏览器中使用渐进式增强功能,启用了新功能。使用 Service Worker 和 Web 应用清单,您的 Web 应用就会变得可靠且可安装。即使新功能不可用,用户仍会获得核心体验。
数字不是谎言!推出渐进式 Web 应用的公司取得了令人瞩目的成果。例如,Twitter 发现,每次会话浏览页数增加了 65%,推文数量增加了 75%,跳出率降低了 20%,同时还将应用大小缩减了 97% 以上。改用 PWA 后,Nikkei 的自然流量增加了 2.3 倍,订阅量增加了 58%,日活跃用户数增加了 49%。Hulu 将其平台专用桌面体验替换为渐进式 Web 应用,并实现了 27% 的回访量增长。
渐进式 Web 应用为您提供了独特的机会,让您能够打造深受用户喜爱的 Web 体验。渐进式 Web 应用利用最新的 Web 功能带来增强的功能和可靠性,可让您构建的应用只需一套代码库,即可供任何人随时随地在任意设备上安装。