我想知道怎么解决 IOS 设备的进步网络应用程序,因为他们的默认浏览器 SAFARI 还不支持进步网络应用程序。 那么 IOS 的对应物有什么替代品呢?
请注意,“支持渐进式 Web 应用程序的浏览器”并不是一个真正的术语,PWA 本身是 Web 应用程序可以为用户提供的一组特性。因此,它不仅仅是关于服务工作者和应用程序清单。
看看 基线 PWA 清单。
以下是你可以在 iOS/Safari 上实现 PWA 的方法:
正如你所看到的,几乎所有的东西都能正常工作,即使你的页面不能在 iOS/Safari 上离线工作,“升级”你的 web 应用到 PWA 仍然有很大的好处。
你真正想要的不是“渐进式网络应用”这个花哨的标题,而是一个为用户提供良好体验和功能的好的网络应用。这是一个旅程,因为你可以完成它的每一个小部分,这就是为什么它被称为“进步”。
关于“ Add to Home screen: Safari 在 meta 标签中有自己的“ Home screen icon”规范,称为 apple-mobile-web-app-capable。Web 应用程序清单生成器使用这个 meta 标记为 iOS 提供了一个备用方案。
apple-mobile-web-app-capable
编辑3:
2018年3月30日,服务人员已经将 Safari 应用于 iOS!
编辑2:
2018年1月24日,一位名叫 Ricky Mondello 的苹果开发者在推特上写道:
Https://twitter.com/rmondello/status/956256845311590400
“ iOS 11.3和 macOS 10.13.4包括 Service Workers ーー一个强大的规范,允许后台脚本为离线 Web 应用程序提供动力。IOS 11.3在向主屏幕添加网络应用程序时,也会参考 Web App Manifest。”
太棒了!
还没有推送通知的消息,但是仍然有惊人的消息。
编辑:
我曾写过一篇文章,在这个话题上抨击苹果:
Https://m.phillydevshop.com/apples-refusal-to-support-progressive-web-apps-is-a-serious-detriment-to-future-of-the-web-e81b2be29676
它被发布到黑客新闻上,并在 Twitter 上得到了一些好的曝光。一周后,他们开始研发。所以——请继续关注,它似乎终于要上路了!
原答案:
“因此,这不仅仅是关于服务工作者和应用程序清单。”
在我看来,这就是 PWA 的真正意义所在——服务工作者。这就是为什么你可以做所有 PWA 所能做到的了不起的事情。基准已经可以完成很长一段时间了,虽然谷歌已经在技术上建立了它们作为一个基准分类,但这些东西并不能真正使一个 PWA 成为现在的样子。否则,它只是一个普通的响应网络应用程序在我的书。
下面是一些你仍然不能用移动狩猎旅行做的事情,因为苹果公司拒绝支持它们(因为它们会损失应用程序商店的钱) :
公认的答案在这里描绘了一幅错误的画面。我已经把苹果在移动旅行中的“本地”体验推到了极限,但它仍然相当糟糕。我经历过很多关于移动 Safari 全屏模式的问题,而苹果公司根本不在乎它们。它被当作二等公民对待,因为它不像应用程序商店那样赚钱。
你会注意到,如果你在 iOS 的主屏幕上添加 Twitter 的新的和令人敬畏的基于反应/还原的移动站点,它不会在全屏模式下打开。我怀疑这和我发现的原因是一样的——大量的 bug,而苹果团队中没有一个人在处理它们。
曾经在 iOS 全屏模式下可以在 web 应用程序清单中找到的载入屏幕已经神秘地停止工作了,苹果公司在他们的论坛上没有发表任何关于这个话题的评论。而且不得不告诉用户,“哦,嘿,只要点击分享,然后滑到‘添加到主屏幕’”是一个可怕的方式去做事情。
这是一种可悲的状态。当前接受答案中的列表实际上应该称为“基线响应 Web 应用程序列表”。
回答这个问题——不,没有其他选择,你也无能为力。你必须玩苹果的游戏,支付100美元进入应用程序商店,学习一种完全不同和更复杂的编程语言,并保持一个完全独立的代码库。
我刚刚花了6个月的时间为一个客户项目学习本机反应,这真是太棒了。我强烈推荐。您可以使用 JavaScript 创建真正的本地应用程序,并在 iOS 和 Android 之间共享您的代码库。
先说清楚,我不反对苹果。我用 iPhone 在 Mac 上开发。但他们商业战略的这一方面无疑是一种耻辱。