什么是 IOS 的渐进式 Web 应用程序解决方案

我想知道怎么解决 IOS 设备的进步网络应用程序,因为他们的默认浏览器 SAFARI 还不支持进步网络应用程序。 那么 IOS 的对应物有什么替代品呢?

43502 次浏览

请注意,“支持渐进式 Web 应用程序的浏览器”并不是一个真正的术语,PWA 本身是 Web 应用程序可以为用户提供的一组特性。因此,它不仅仅是关于服务工作者和应用程序清单。

看看 基线 PWA 清单

以下是你可以在 iOS/Safari 上实现 PWA 的方法:

  • 站点通过 HTTPS 提供服务 something
  • 页面在平板电脑和移动设备上具有响应性
  • 起始 URL (至少)在脱机时加载
  • 为“添加到主屏幕”提供的元数据 something
  • 即使在3G 环境下,第一次载入也很快
  • 网站跨浏览器工作 something
  • 页面过渡不会感觉像是在网络上被阻塞了
  • 每个页面都有一个 URL something

正如你所看到的,几乎所有的东西都能正常工作,即使你的页面不能在 iOS/Safari 上离线工作,“升级”你的 web 应用到 PWA 仍然有很大的好处。

你真正想要的不是“渐进式网络应用”这个花哨的标题,而是一个为用户提供良好体验和功能的好的网络应用。这是一个旅程,因为你可以完成它的每一个小部分,这就是为什么它被称为“进步”。

关于“ Add to Home screen: Safari 在 meta 标签中有自己的“ Home screen icon”规范,称为 apple-mobile-web-app-capableWeb 应用程序清单生成器使用这个 meta 标记为 iOS 提供了一个备用方案。

编辑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 上开发。但他们商业战略的这一方面无疑是一种耻辱。