您的位置:首页 > 其它

未来 PWA 将取代本地应用,成为构建良好用户体验的首选方式

InfoQ 2019-06-11 08:42 351 查看 https://www.geek-share.com/det
作者 | Stefan Dorresteijn
译者 | Sambodhi

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




点个在看少个 bug 👇

标签: 
相关文章推荐