我想知道IOS设备的渐进式网络应用程序的解决方案是什么,因为他们的默认浏览器SAFARI还不支持渐进式网络应用程序。 什么是替代品然后是IOS的同行呢?
答案 0 :(得分:91)
请注意,“支持Progressive Web Apps的浏览器”不是一个真正的术语,PWA本身是Web应用程序可以为用户提供的一组功能。所以它不只是关于Service Worker和App Manifest。
在创建此答案时,您可以采取以下措施在iOS / Safari上实现PWA:
正如您所看到的,即使您的网页无法在iOS / Safari上脱机工作,几乎所有内容都能正常运行,将您的网络应用“升级”为PWA仍然有很大的好处。
您真正想要的不是“渐进式网络应用程序”的精彩标题,而是一个为用户提供良好体验和功能的优秀网络应用程序。这是一个旅程,因为你可以通过每个小部件完成它,这就是它被称为“渐进式”的原因。
关于“添加到主屏幕”的注意事项:Safari在元标记中有一个名为apple-mobile-web-app-capable
的“主屏幕图标”的自己的规范。Web App Manifest Generator使用此元数据的iOS回退标签
答案 1 :(得分:71)
编辑3:
服务工作者已于2018年3月30日在Safari for iOS中发货!
编辑2:
一位名叫Ricky Mondello的苹果开发者于2018年1月24日发布了此消息:
https://twitter.com/rmondello/status/956256845311590400
“iOS 11.3和macOS 10.13.4包括服务工作者 - 一个功能强大的规范,允许后台脚本为离线Web应用程序供电。在将Web应用程序添加到主屏幕时,iOS 11.3也会参考Web App Manifest。”
真棒!
还没有关于推送通知的消息,但仍然是令人惊讶的消息。
编辑:
我写了一篇文章,主题是Apple:
它被发布到黑客新闻并在Twitter上获得了一些好的曝光率。一周后,他们开始开发它。所以 - 请继续关注,它似乎终于成功了!
原始答案:
“所以它不仅仅是关于Service Worker和App Manifest。”
在我看来,这正是PWA的真正含义 - 服务工作者。这就是让你做PWA所能做的所有令人敬畏的事情的原因。基线已经可以在很长一段时间内完成,虽然谷歌已经在技术上将它们建立为基线分类,但这些并不是真正使PWA成为现实的东西。否则它只是我书中的常规响应式网络应用程序。
以下列出了由于Apple拒绝支持移动游戏而仍无法使用移动版游戏的内容(因为它们会丢失应用商店资金):
接受的答案真的在这里描绘了错误的图片。我已经将苹果“原生”的移动游猎体验推向极限,但仍然非常糟糕。我在移动safari的全屏模式下遇到了很多问题,Apple并不关心它们。它被视为二等公民,因为它不会像app商店那样产生金钱。
您会注意到,如果您将基于Twitter的新的和令人敬畏的基于react / redux的移动网站添加到iOS上的主屏幕,它将无法以全屏模式打开。我怀疑这与我发现的原因相同 - 错误很多,苹果公司的团队中没有人在研究它们。
在iOS应用程序清单中可用的iOS全屏模式下曾经可以进行的加载屏幕神秘地停止了工作,苹果在论坛上没有任何关于该主题帖子的评论。不得不告诉用户,“哦,嘿,只需点击分享,然后滑到'添加到主屏幕'是一个不可思议的事情。
这是一种令人悲伤的事态。当前接受的答案中的列表应该真正称为“基线响应Web应用程序列表”。
在这里回答这个问题 - 不,没有其他选择,你无能为力。您必须玩Apple游戏,支付100美元才能访问应用商店,学习完全不同且更复杂的编程语言,并保持完全独立的代码库。
我花了6个月的时间为一个客户端项目学习React Native,它非常棒。我会极力推荐它。您可以使用JavaScript创建真正的原生应用,并在iOS和Android之间共享您的代码库。
要说清楚,我不是反苹果。我使用iPhone并在Mac上进行开发。但他们的商业战略的这一方面肯定是一种耻辱。