InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

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

  • 2019-06-08
  • 本文字数:1833 字

    阅读完需:约 6 分钟

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

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(微信同手机号)。

2019-06-08 08:147925
用户头像

发布了 504 篇内容, 共 210.4 次阅读, 收获喜欢 1502 次。

关注

评论 1 条评论

发布
用户头像
我上次看着这样的文章我记得我才刚毕业
2019-06-10 15:35
回复
没有更多了
发现更多内容

低代码开发平台魔笔 X 浙江广电集团:“10天”成为行业最小创新单位!

移动研发平台EMAS

阿里云 低代码开发 魔笔

深度学习基础入门篇[9.3]:卷积算子:空洞卷积、分组卷积、可分离卷积、可变性卷积等详细讲解以及应用场景和应用实例剖析

汀丶人工智能

人工智能 深度学习 卷积网络 空洞卷积 分组卷积

ChatGPT的原理与前端领域实践 | 京东云技术团队

京东科技开发者

人工智能 前端 ChatGPT 企业号 5 月 PK 榜

Openjob:更强大、更智能的分布式任务调度框架,重磅发布!

stelin

java; 后端、 分布式,

大数据如何助力营销(5)活动复盘

MobTech袤博科技

软件测试/测试开发丨学习笔记之Pytest使用

测试人

Python 软件测试 自动化测试 测试开发 pytest

并发编程-常见并发工具BlockingQueue的使用及原理解析

做梦都在改BUG

Java 并发编程 BlockingQueue

Abaqus非线性问题预览及求解

思茂信息

仿真软件 abaqus abaqus软件 abaqus有限元仿真 有限元仿真技术

京东购物车如何提升30%性能 | 京东云技术团队

京东科技开发者

性能优化 RPC 企业号 5 月 PK 榜 京东购物车 异步改造

Deferred Components-实现Flutter运行时动态下发Dart代码 | 京东云技术团队

京东科技开发者

flutter dart 企业号 5 月 PK 榜 Deferred Components

PoseiSwap:为何青睐 Layer3?又为何选择 Celestia 作为技术伙伴?

鳄鱼视界

二维码在中国:学术视角下的创新与实践

草料二维码

二维码

云纳管是什么意思?云纳管平台哪个好?

行云管家

云计算 云服务 云平台 云管平台 云纳管

阿里微服务实施手册我粉了,原来微服务还可以这样玩

做梦都在改BUG

Java 架构 微服务 Spring Cloud

OpenHarmony支持HDMI接口声卡适配说明

OpenHarmony开发者

OpenHarmony

开发神技!阿里消息中间件进阶手册限时开源,请接住我的下巴

做梦都在改BUG

Java kafka 分布式 MQ 消息中间件

Topaz Gigapixel AI for Mac激活(图片无损放大软件) v6.3.2

真大的脸盆

Mac Mac 软件 图片无损放大 图片放大工具

Github星标百万!终于有人将Spring技术精髓收录成册

做梦都在改BUG

Java spring 框架

惊艳!腾讯强推599页Netty进阶神技,完美诠释Netty

做梦都在改BUG

Java Netty

kafka生产者你不得不知的那些事儿

JAVA旭阳

Java kafka

【等保】等保全称是什么?英文咋说?

行云管家

等保 等级保护 等保2.0

Serverless冷扩机器在压测中被击穿问题 | 京东云技术团队

京东科技开发者

Serverless GC 击穿 企业号 5 月 PK 榜 Serverless扩容

真香!阿里最新产出分布式进阶实战手册,涵盖分布式架构所有操作

Java你猿哥

架构 分布式 微服务 Spring Cloud Spring Boot

探索未来智能交通:网联汽车与汽车互联

EMQ映云科技

车联网 物联网 智能交通 汽车互联

IPQ8072 or IPQ8072A with the QCN9074/9024 chipset / well-suited for high-end routers.

Cindy-wallys

IPQ8072

新一代企业数字化联盟成立,“强强联手”搭建品牌服务生态

数划云

数字化 全面预算管理 新一代企业数字化联盟 数划云 绩效分析

肝到头秃!百度强推并发编程笔记我爱了,原来这才叫并发

做梦都在改BUG

Java 并发编程

MSE 自治服务帮你快速定位解决 Dubbo 重复订阅导致 RPC 服务注册失败问题

阿里巴巴云原生

阿里云 云原生 dubbo MSE

SpringBoot 中异步任务实现及自定义线程池执行异步任务

做梦都在改BUG

Java Spring Boot

Kafka生产者你不得不知的那些事儿

做梦都在改BUG

深度学习基础入门篇[10]:序列模型-词表示{One-Hot编码、Word Embedding、Word2Vec、词向量的一些有趣应用}

汀丶人工智能

人工智能 深度学习 nlp 词向量 序列模型

  • 扫码添加小助手
    领取最新资料包
未来PWA将取代本地应用,成为构建良好用户体验的首选方式_大前端_Stefan Dorresteijn_InfoQ精选文章