未来 PWA 将取代本地应用,成为构建良好用户体验的首选方式
PWA 的译文为渐进式 Web 应用,它根据设备的支持情况来提供更多功能,如离线能力、推送通知,甚至本地应用的外观和速度,以及对资源进行本地缓存。旨在提升 Web App 的性能,改善 Web App 的用户体验。面对拥有如此优秀特性的 PWA,本文作者 Stefan Dorresteijn 大胆预测:PWA 是我们的未来。
做出这样的预测我还是很有信心的:未来几年,我们将看到渐进式 Web 应用(Progressive Web Applications,PWA)取代本地应用。事实上,我相信在未来五年内,手机上至少有 80% 的非游戏应用将会使用网络技术进行构建。
Steve Jobs 在 2007 年是对的。至少在接下来的 12 年里,他不仅正确地预测了手机的外观,而且对移动应用应该是什么样子的也做出了准确的预测。他宣布 iPhone 应用的标准格式将是我们现在所称的 HTML5。应用程序不需要 SDK,且可以轻松访问本地功能,因此具有 Web 开发背景的任何人都可以轻松构建。
然而没过多久,Apple 就认定这不再是他们想要的方向。他们引入了 iOS SDK,原生开发变得更加复杂。原本在浏览器中工作的功能变成了纯本地功能,这就迫使开发人员去学习新语言,并转向成为原生开发人员。
从那时起,Web 开发有了很大的发展。许多 Web 应用比本地同类应用功能更丰富,更令人印象深刻。JavaScript 已成长为一股不可忽视的力量,随着 Android 和 iOS 引入了 PWA 支持,Web 开发人员可以无需学习全新语言即可构建适合本地使用的应用,这是一个真正的未来。
渐进式 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 👇
- Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..
- Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..
- Ajax在MVC中的应用——实现良好的用户体验
- 构建良好用户体验的客户端阅读器(一)——引言
- 构建互联网信任体系 提升用户应用体验
- 腾讯电脑管家对伤害用户体验的推广方式道歉
- 未来web浏览技术提前体验:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示
- 构建基于虚拟用户的vsftpd服务器应用
- 详解vsftp服务器通过匿名用户、本地用户、虚拟用户三种登录方式实现文件传输
- 基于用户体验的产品设计,安卓和苹果的应用
- 定义 Windows Phone 应用需求,获得更好用户体验
- 15个带给您优秀用户体验的移动应用 UI 设计
- (附代码)根据输入信息构建不同人种类,统一打印不同国家地区的身高、体重信息(泛型数组应用,多态、重载、泛型、反射等概念体验)
- 二、spring Boot构建的Web应用中,基于MySQL数据库的几种数据库连接方式进行介绍
- 【转载】使用Eclipse+Axis2构建Web Service应用(客户端无需生成Stub方式)
- 云原生(CloudNative)将成为应用云化开发的主流方式
- 亚马逊AWS在线系列讲座——如何在AWS云平台上构建千万级用户应用
- 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《数据可视化:构建实时动态运营数据分析大屏》篇
- Android应用提升性能和用户体验
- html本地存储方式实现的五线谱在线识谱练习应用