为什么 PWA 还没有“干掉”原生应用?

摘要:PWA 即渐进式网页应用

,是 Web 应用的一种,具有安全、渐进式、响应式、无需网络、类应用程序、保持最新、可检测、可重新接入、可安装、可分享这 10 个要

素,但 PWA 至今仍没有成为应用的默认格式。

原文链接

:https://kevinbasset.medium.com/why-havent-pwas-killed-native-apps-yet-29beca4425fa

声明:本文为 CSDN 翻译,未经授权,禁止转载。

作者 | Kevin Basset

译者 | 弯月

出品 | CSDN(ID:CSDNnews)

从理论上讲,PWA 是原生应用的完美替代:只需管理一个代码库,即时更新无需审核,而且应用内的购买也不会被抽成。何乐而不为?

尽管PWA(Progressive Web App,渐进式Web应用)经历了漫长的发展,但时至今日仍然无法完全取代原生应用。

那么,到了2022年,PWA还缺什么?为什么它们还没有成为应用的默认格式?

人们对PWA的看法

很多人认为PWA只不过是二流的应用,还有人甚至认为PWA根本算不上应用。

现如今,我们习惯于通过苹果或Google的应用商店寻找应用。然而实际上,直接通过网站安装应用既快捷又方便。但是,如果没有专门的提示和推广元素,用户仍然不习惯这种方式。

问题的关键在于信任。通过第三方下载应用的前提是,第三方能够证明应用可以安全下载。

然而,PWA并不需要苹果和Google的批准,因为它们本身就是安全的。PWA 无法读取手机上的联系人、代表主人发送SMS消息,或访问任何可能暴露私人信息的功能。

应用商店有着双重的价值主张:分发(在用户设备上安装应用)和宣传(让更多人发现你的应用)。很多人认为,应用商店的宣传工作并不理想。而PWA的安装可以嵌入到浏览器内。

如今看来,整个应用商店范式都是多余的。

iOS 推送通知

在万众翘首以待多年之后,苹果终于宣布iOS将于2023年推出推送通知的功能。这是一个好消息。截止到目前为止,你只能向Android/Windows/macOS 用户发送通知,但不能向 iOS 用户发送通知。

对于许多开发人员来说,这意味着无法依赖推送通知向用户传递重要的信息。尽管Web推送通知是一个很好的额外功能,但它并不是产品工作流程的关键部分。

如果苹果以正确的方式(即遵循W3规范)实现Web推送通知,那么这种情况即将发生变化。你可以轻松地通知 Android 和 iOS 上的用户,而无需通过苹果或Google的应用商店发布你的应用。

话虽如此,Web 开发人员滥用Web推送API的现象很多(例如,新闻网站会在用户第一次访问时请求推送通知的授权),以至于人们越来越讨厌这类提示。结果导致,在某些情况下,Chrome(以及其他浏览器)会自动阻止推送通知请求,这也导致合理使用的开发人员也很难获得该功能的使用授权。

我个人最大的心愿之一便是 PWA 在安装后能被授予比普通网站更高的权限(但没有原生应用多)。人们安装你的PWA证明他们信任你的应用,而不只是在偶然的一次机会下发现了你的网站。

下面是一些需要更高权限的例子:

已安装的 PWA 可以自动被授予访问Push API的权限。严格限制只有已安装的PWA可以访问Push API。不允许任何常规网站访问Push API。杜绝垃圾邮件。将多个浏览器API的访问权限打包,显示在安装提示中。例如,在安装后,PWA 可以自动获得Push API、Geolocation API 或 Microphone API等的访问权,用户可以通过一个按钮来切换是允许还是禁止每个API的访问。当PWA请求访问权限时,Chrome不应该简单地阻止推送通知。

iOS上的原生安装提示

目前,在iOS上安装PWA应用需要打开共享面板,并单击按钮“添加到主屏幕”。虽然安装本身没什么问题,但不如安装原生 iOS 应用那么直观。

如果Safari支持beforeInstallPrompt事件,那么整个体验就可以进一步精简。或者至少,苹果可以将按钮的文本修改成“添加到主屏幕以安装应用”,Android在几年前就做了改动。

尽管当前的安装流程也不错,但还是会产生一些影响用户和开发者体验的问题。

例如,真实的 Safari(包含按钮“添加到主屏幕”)和 SFSafariViewController 视图(没有这个按钮)之间没有任何区别。现在的状况是,许多应用内浏览器都使用了后者,例如推特 iOS 应用。

因此,你别无选择,只能显示自定义的说明,即便有时连自定义说明都无法显示。绝大多数的用户都对背后的技术没兴趣,因此他们会觉得有点困惑。

同样,我希望有一天,PWA开发人员不再需要生成 25 多个单独的初始屏幕图像文件来支持每部 iPhone 和 iPad。

安装完毕后更新清单文件

为了提高PWA应用的竞争力,我们应该允许开发人员能够在安装后更新清单文件(图标、名称、启动屏幕等)。

关于这个话题,Google曾出过一篇文章(https://web.dev/manifest-updates/),一句话总结:你想要修改的属性统统无法修改。因此,一旦安装完毕,你就无法更新用户主屏幕上的显示效果。

至少,直到最近都是如此。

幸运的是,该领域出现了一些有趣的发展。如今,桌面版Chrome 支持在安装后更改应用的名称。它甚至还会显示一个反网络钓鱼提示(虽然有点迷惑),以方便用户选择允许修改清单文件或卸载应用。

范围管理

PWA真正的亮点在于,创建程序化的应用。

我有一位客户做了一款商业化的摄影师软件。摄影师可以利用该软件为自己的客户创建独特的婚礼相册。

每个相册一个单独的应用,有自己的名字(新婚夫妇的名字)和图标(这对夫妇的照片)。这样的相册应用数量高达1万多个,任何其他方式根本无法管理。

然而,该软件也有一些瓶颈和缺陷。

虽然我们希望将每个PWA托管到自己的子域上(例如 pwa1.example.com 和 pwa2.example.com),但这通常是不可能的。在这个例子中,退而求其次的解决方案是将每个PWA托管到自己的目录中(例如 example.com/pwa1/ 和 example.com/pwa2/)。

由于末尾斜杠的问题,范围的管理有时是非常违反直觉的。简而言之,example.com/pwa1/ 是一个有效的范围,而example.com/pwa1(请注意末尾少一个斜杠)则不是。

如果你使用后者,则浏览器会认为范围是example.com/(根域),而且关键在于浏览器不会显示错误消息或警告。

我希望浏览器能更加智能一点,自动处理scope字段中的斜杠,即将 example.com/pwa1 自动更正为 example.com/pwa1/。根据我的经验,如果开发人员实际的意图是采用后者,那么使用前者(没有末尾斜杠)的访问就一定会导致错误。

iOS上的范围也应该改进。打开某个来自Android第三方应用PWA范围内的链接,就会安装该PWA。但是,在 iOS 上,它会打开 Safari。

桌面截图

毫无疑问,更丰富的安装 UI 有助于弥补原生应用与 PWA 之间的差距。为了展示应用,开发人员可以在安装提示中显示一个截图,这样从外观和感觉上就像一个标准的应用商店界面。

我们的应用除了将工具集成到产品本身之外,还提供了一个免费的设计这些屏幕截图的工具。因此,客户可以通过一个界面设计、管理、编辑、本地化和上传屏幕截图。

目前在桌面版中,应用清单的 screenshots 属性没有任何作用,但有一个提议是在桌面版的Chrome上显示这些屏幕截图。你可以通过--enable-features=DesktopPWAsDetailedInstallDialog进行测试。

原生功能

PWA是否应该访问你的联系人?查看你的日历?发送短信/彩信?设置闹钟?我个人的看法是:无论到什么时候都不应该!

PWA的范围很有限,这恰恰证明了它们很安全。绕过浏览器的限制会增添一些危险,结果必然是通过第三方(即应用商店)来审核应用,这是人为创造的需求,根本没有必要。

当然,有些应用确实需要访问这些功能。那么,对于这些人来说,也许原生是唯一的出路。

但是,对于绝大多数不需要访问这些功能的应用程序来说,PWA 不仅可以成为一个很好的选择,而且有可能成为最佳选择。

我们努力的方向是利用 Bubble、Softr 和其他无代码平台构建更多应用。在我看来,这对开发人员、用户和整个网络世界来说,都是一个好消息。

原文地址:https://www.toutiao.com/article/7143177533725508107/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


所以很多人都会选择将这些生活琐事来交给智能化产品,在众多产品中,扫拖机器人所给我们带来的便利性最强,扫地、拖地全都一气呵成,不需要人为过多干预,不过目前大多数扫拖机器人对于双手解放得不彻底。而石头作为
“昨天的经历都将成为明天的力量。” 将绝大部分精力都奉献给璃月港的刻晴,可以说是《原神》中的高人气角色了,虽然是常驻角色,并且对于普通玩家来说……刻师傅别刮了……不过作为开服就存在的角色,还有独特的剑法
最近,全球知名的通信产业盛会MWC 2024(2024世界移动通信大会)正式召开,其中,联发科以“连接AI宇宙”(Connecting the AI-verse)为主题,为大众展示出一系列在AI和移动通信技术等领域的最新突破,吸引了大量行业
今年上半年有很多值得关注的机型,其中华为最新的影像旗舰华为P70 Art也自然受到了业界不少的关注目光,目前关于这款机型的轮廓图已经在网上曝光。
目前,2024世界移动通信大会(MWC)正在西班牙巴塞罗那举行,值得一提的是,此次大会参展中国厂商非常多,包括华为、中兴、小米、荣耀等等多家厂商均在其列。
就在去年,真我推出了11 Pro+,用一个2亿像素传感器和zoom变焦功能,开启了中端手机影像的长焦大战,而后友商才姗姗来迟的跟进了2亿像素传感器。
【手机之家新闻】一年一度的MWC已经于当地时间2月26日在巴塞罗那正式开展,在本次MWC2024上全球各大厂商齐聚一堂,展出自家最新的技术与产品,其中中兴就参展本次MWC2024,并且展出了诸多面向企业端的产品,而旗下的
近日,联发科在MWC 2024(2024 世界移动通信大会)上展出了一系列令人瞩目的AI和移动通信技术突破,以“连接AI宇宙”(Connecting the AI-verse)的展厅吸引了无数业界精英和媒体的目光。特别是其现场的生成式AI技术
虽然目前国内已经有不少厂商入局折叠屏产品,但是努比亚却迟迟没有入局。不过在近日举办的MWC 2024展会上,努比亚发布了自家首款折叠屏手机——努比亚Flip,预计国内很快也会上市。
MWC 2024正在西班牙巴塞罗那举办,和往年一样,荣耀这次依旧携众多新产品、新技术参会。荣耀Magic6 Pro、荣耀Magic V2 RSR保时捷设计的机型在海外正式发布,并且还展示了魔法大模型、任意门等诸多新技术。
MWC 2024正在西班牙巴塞罗那如火如荼地举行,其中小米也参加了今年的大会,在会上发布了在国内大受欢迎的小尺寸旗舰——小米14。值得一提的是,高通公司CEO安蒙甚至亲临发布会现场为这款机型助阵。
《原神》是一直以来在机圈深受欢迎的游戏,在充满幻想的提瓦特大陆上,你可以邂逅不少性格迥异、能力独特的伙伴。而一加Ace系列一直就拥有非常强烈的电竞属性,也是畅玩《原神》的热门机型,而在本月,一加Ace 3将推
有不少网友发现,今年新机的发布时间相对于往年大幅提前,很多厂商在春节之前密集发布了自己最新的中高端机型,给人一种年后没什么新机可发了的感觉。不过魅族全新的大杯机型——魅族21 PRO非常值得期待,魅族科技也
2022年7月,小米12S Ultra正式发布,这款产品率先将1英寸大底主摄引入到移动影像领域,同时凭借鲜明的徕卡影调给人留下深刻的印象,同时这款产品也被视为了影像旗舰地位的机型。如果从那时算起,到现在差不多已经快过
随着智能手机的日益普及和智能化进程的加速,智能穿戴设备成为了人们关注的焦点。各大智能手机厂商纷纷进军智能穿戴市场,试图在这一新兴领域抢占先机。
早在去年秋天,HyperOS操作系统发布的时候,小米便勾勒出了“人车家全生态”的美好蓝图,而在这其中,小米的多终端统一战略是核心,目前已经有不少小米产品预装或者接受到了HyperOS操作系统的推送,在过去几个月的时
今年雷军将把更多的精力放在小米汽车上,所以接下来的手机业务将由刚刚兼任小米品牌总经理卢伟冰接管。同时雷军也在微博上表示小米2024年开年旗舰——小米14 Ultra即将在近期发布,并且将有卢伟冰进行讲解。另外,卢
新的一年有龙则灵,有愿必达。自1月19日起,荣耀加码“新年荣耀,一起成龙”年货节,在全国荣耀线下门店上线了“新年许愿处”、“龙运当头”等趣味活动,吸引大批消费者到店打卡许愿,戴龙头迎好运。与此同时,为了回
小米在官网微博中已经透露了关于小米14 Ultra信息,所以新机上市应该不会太晚。根据德国莱茵的官方消息,目前小米14 Ultra(型号为24030PN60G)获得了莱茵无频闪认证,表明这款手机可以有效减轻屏幕给用户带来的视觉疲
2月22日,上海广播电视台与华为举办鸿蒙合作签约仪式,宣布其官方客户端看看新闻APP将基于HarmonyOS NEXT鸿蒙星河版启动鸿蒙原生应用开发,为用户提供更加极致的新闻资讯服务体验。此次合作标志着上海广播电视台成为全国