Skip to content

【提案】manifest.json 新增 pwa_url 字段 #235

@Gaubee

Description

@Gaubee

JmmAppInstallManifest 里增加一个 pwa_url 字段,如果配置了这个字段,那么在长按桌面图标时,会有一个“安装 PWA”的选项,点击后,会引导用户将 PWA 应用添加到桌面。

我曾经让小华去开发“转换 PWA 应用”的工具。意味着可以把传统 PWA 应用转化成 Dwebapp 应用。
但是开发成本的问题,这个方向现在暂停了。但不代表这个方向没有价值。
本提案是从另一个方面来关联 PWA 应用,与“转换 PWA 应用”并不冲突,是两回事。

PWA 与 Dwebapp 是没有关联的,有这几个差别:

  1. PWA 可以添加到桌面,可以真正的全屏,更加符合“原生应用”的体验,特别是在 IOS 平台上,这种原生级别的体验,是非常重要的。
  2. PWA 是没有 Dwebapp 的后端的,只有 ServiceWorker 能代理请求当前域名,也就意味着 PWA 应用之间,是不能像 Dwebapp 之间那样互相在本地通讯的,必须依赖互联网来通讯。
  3. PWA 应用和互联网关联比较强,可能会有访问不稳定的问题。升级的机制也不像 Dwebapp 那样简单直接。我们需要一些工作,才能让 PWA 应用更加稳定易用。

一旦这个功能上线,就意味着可以推广用户使用 PWA,以获得原生级别的导航使用体验,但是它的数据是在 Chrome、Safari 中存储着。
而 Dwebapp 的优势,在于应用互联、离线使用。
所以对于一些“钱包”应用,使用 Dwebapp 仍然具有必要性和优势,这些数据都在 Dweb Browser 中管理着。

在 PWA 需要钱包授权时,需要使用 dweb-deeplink 唤醒 Dweb Browser 里的钱包应用,然后提供回调 URL 来回传数据,这就意味着需要服务器来中转这个数据。

参考资料

  1. Android 参考:Trusted Web Activity
  2. iOS 参考: 苹果怎么添加支付宝小程序到桌面

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions