【发布时间】:2019-12-29 22:52:16
【问题描述】:
对于实现“添加到主屏幕”的浏览器是否有任何标准?为 Web 应用程序创建此启动器后,应如何启动该应用程序?它是否将在已运行实例的独立 Web 浏览器实例中运行。
我对应用的安全性/隐私性特别感兴趣。它们是否与在普通浏览器实例中打开 URL 的页面共享相同的离线数据(Cookie、本地存储)?
【问题讨论】:
标签: web-applications progressive-web-apps
对于实现“添加到主屏幕”的浏览器是否有任何标准?为 Web 应用程序创建此启动器后,应如何启动该应用程序?它是否将在已运行实例的独立 Web 浏览器实例中运行。
我对应用的安全性/隐私性特别感兴趣。它们是否与在普通浏览器实例中打开 URL 的页面共享相同的离线数据(Cookie、本地存储)?
【问题讨论】:
标签: web-applications progressive-web-apps
没有标准
由于它相当新,它在不同浏览器中的工作方式每隔几个月就会发生变化
在开发 PWA 时,您可能需要适应这些变化
Safari 在支持 PWA 方面似乎是最落后的
Chrome 处于领先地位,其他人紧随其后
Chrome 开发者频道提供了有关本月最新消息的最多信息,还有几个很好的视频供您了解 PWA
https://www.youtube.com/channel/UCnUYZLuoy1rq1aVMwx4aTzw
看起来已安装 PWA (chrome) 的存储与访问同一 PWA 的网页不同。与目前 PWA 发生的所有其他事情一样,这会因不同的浏览器而异,开发人员需要相应地进行调整。 If I add a PWA to the homescreen, can I take the current data from the local storage?
【讨论】:
正如 Mathias 所说,没有既定标准,而是最佳实践。 我会关注directions of google developers:
在向用户显示提示之前,您可能需要稍等片刻,以免分散他们的注意力。例如,如果用户正在结帐流程中,或者正在创建他们的帐户,请让他们完成这些,然后再用提示打断他们。
因此,您可能决定在应用的某些页面中提供“添加到主屏幕”按钮,以便用户决定何时以及是否要安装您的 PWA。不过,我也发现提示的自动出现并不太打扰,但这也取决于您的用户目标。
如果你想了解更多,可以看看my articles based on PWAs。
关于您的其他问题:
服务工作者 (SW) 在与网站使用的线程不同的线程上运行,因此被定义为“非阻塞”。您不希望在 SW 上运行的问题或长时间操作会影响网站性能。 SW 充当您的应用程序和网络之间的代理,只能在安全 (HTTPs) 连接上工作。 Here a whole set of details 关于服务人员。
【讨论】:
感谢两位澄清 PWA 的非标准化。
我通过@Francesco 提供的link 发现,至少Chrome/Chromium PWA 实际上是do use the same state as in normal browser instances。
【讨论】: