PWA 的译文为渐进式 Web 应用,它根据设备的支持情况来提供更多功能,如离线能力、推送通知,甚至本地应用的外观和速度,以及对资源进行本地缓存。旨在提升 Web App 的性能,改善 Web App 的用户体验。面对拥有如此优秀特性的 PWA,本文作者 Stefan Dorresteijn 大胆预测:PWA 是我们的未来。
做出这样的预测我还是很有信心的:未来几年,我们将看到渐进式 Web 应用(Progressive Web Applications,PWA)取代本地应用。事实上,我相信在未来五年内,手机上至少有 80% 的非游戏应用将会使用网络技术进行构建。
PWA 已存在 12 年了
Steve Jobs 在 2007 年是对的。至少在接下来的 12 年里,他不仅正确地预测了手机的外观,而且对移动应用应该是什么样子的也做出了准确的预测。他宣布 iPhone 应用的标准格式将是我们现在所称的 HTML5。应用程序不需要 SDK,且可以轻松访问本地功能,因此具有 Web 开发背景的任何人都可以轻松构建。
然而没过多久,Apple 就认定这不再是他们想要的方向。他们引入了 iOS SDK,原生开发变得更加复杂。原本在浏览器中工作的功能变成了纯本地功能,这就迫使开发人员去学习新语言,并转向成为原生开发人员。
从那时起,Web 开发有了很大的发展。许多 Web 应用比本地同类应用功能更丰富,更令人印象深刻。JavaScript 已成长为一股不可忽视的力量,随着 Android 和 iOS 引入了 PWA 支持,Web 开发人员可以无需学习全新语言即可构建适合本地使用的应用,这是一个真正的未来。
对我们而言,PWA 是最好的
渐进式 Web 应用不同于任何其他网络应用。这些特定应用具有一些特性,并且需要满足一些要求,才能将应用视为真正的渐进式 Web 应用。
可靠性
即使没有可用的互联网连接,渐进式 Web 应用也可以使用,而不仅仅是呈现一个“我们目前无法使用”的页面。每个网址都需要是可访问的,即使只是为了显示已缓存的数据。最重要的是,渐进式 Web 应用必须通过 HTTPS 来提供服务,需要对平板电脑和移动设备上做出响应,整个网站必须能够跨浏览器运行。
快速
渐进式 Web 应用需要能够快速运行的能力。它需要足够快,这样人们在 3G 网络第一次加载时就不会感到抓狂。而要做到这一点,就需要加载并运行异步脚本,删除一些阻塞 CSS 的渲染,并优化仍然存在的代码。当有重要更新需要让用户知晓时,你的渐进式 Web 应用甚至都可以支持推送通知。
吸引力
最后同样重要的是,渐进式 Web 应用需要人们参与其中。它需要给人一种本地应用的体验,流畅而连贯。既没有 Janky 滚动条,也不会出现等待导航,也许对本地体验来说,最重要的是启动应用程序。这些应用位于用户手机的主屏幕上,这意味着,它们需要一个包含所有图标的清单,并且在你的应用在后台加载时能够提供带有功能性的启动画面。
支持越来越多
尽管渐进式 Web 应用最初是为移动设备设计的,目标是拥有本地体验,但现在受到越来越多的支持,包括 Chrome(73) 的更新,使得渐进式 Web 应用能够安装在 Chrome OS、Linux、Mac 和 Windows 的电脑上。当然,并非所有的特性都会立即得到支持,但随着渐进式 Web 应用越来越流行,他们的特性也会随着平台的增加而增加。目前,只有 Android 上的 Chrome 支持渐进式 Web 应用的所有主要功能,但 Apple 的 Safari(运行于 iOS)也将很快跟进。用不了多久,本地应用和渐进式 Web 应用在功能方面将不会有什么真正的区别了。
构建并非难事
构建渐进式 Web 应用非常简单。如果你有使用 Vue.JS 及其 CLI 的经验,就算你不知道这些,但你也有可能已经构建过渐进式 Web 应用了。是的,渐进式 Web 应用是有着严格的要求,需要很好地工作,但让你的页面感觉快速而流畅将不再是一件困难的事。
渐进式 Web 应用不再是一些晦涩难懂的技术,你只需通过结合 12 篇不同的 StackOverflow 的帖子就可以了解这些技术。若要编写这些应用并为每个操作系统进行优化,也有很多可靠的指南。Google 有一份很不错的指南,告诉你在不使用 JS 框架的情况下如何创建你的第一款渐进式 Web 应用。另外对于不同的框架和标准,也有许多类似的指南。
结论
渐进式 Web 应用就是未来,正如它们是我们的过去一样。Google 可能创造了渐进式 Web 应用的术语,但是 Steve Jobs 早在十多年前就预见到了。在未来,你可以使用 JavaScript 编写类似于本地体验的应用程序,而无需经历困难的构建步骤和令人沮丧的应用商店。通过几乎完全访问设备的本地功能,渐进式 Web 应用必将取代本地应用,成为我们在所有设备上创造不可思议体验的首选方式。
英文原文:https://dev.to/stefandorresteijn/pwas-are-our-future-5591
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论 1 条评论