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

Man*_*ari 77 progressive-web-apps

我想知道什么是IOS设备的渐进式网络应用程序的解决方案,因为他们的默认浏览器SAFARI还不支持渐进式网络应用程序.什么是替代品然后是IOS的同行?

Tru*_*gDQ 95

请注意,"支持Progressive Web Apps的浏览器"不是一个真正的术语,PWA本身是Web应用程序可以为用户提供的一组功能.所以它不只是关于Service Worker和App Manifest.

退房:基线PWA清单.

以下是您在创建此答案时在iOS/Safari上实现PWA所能做的事情:

  • 网站通过HTTPS提供服务
  • 页面响应平板电脑和移动设备✅
  • 离线时加载起始URL(至少)
  • 为添加到主屏幕提供的元数据✅❗️
  • 首先即使在3G load上也能快速加载
  • 网站跨浏览器工作✅
  • 页面转换不会像在网络上阻塞✅
  • 每个页面都有一个URL✅

正如您所看到的,几乎所有内容都在运行,即使您的页面无法在iOS/Safari上脱机工作,仍然可以将您的Web应用程序"升级"为PWA.

你真正想要的不是"渐进式网络应用程序"的精彩标题,而是一个为用户提供良好体验和功能的优秀网络应用程序.这是一个旅程,因为你可以通过每个小部件完成它,这就是它被称为"渐进式"的原因.

关于"添加到主屏幕"的注意事项:Safari apple-mobile-web-app-capable在元标记中调用了"主屏幕图标" .Web App Manifest Generator使用此元标记对iOS进行了回退.

  • 有了上述功能,没有"服务工作者",您只需开发一个快速响应的Web应用程序!原生应用程序更多!! (6认同)

Gre*_*ass 74

编辑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关于这个话题:

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成为现实的东西.否则它只是我书中的常规响应式Web应用程序.

以下列出了由于Apple拒绝支持移动游猎而仍无法使用移动游猎的内容(因为它们会丢失应用商店资金):

  • 创建应用加载屏幕
  • 使用推送通知
  • 添加离线支持
  • 创建一个即时加载的初始应用UI
  • 通过浏览器引导的对话框提示安装到主屏幕

接受的答案真的在这里描绘了错误的图片.我已经将苹果"原生"的移动游猎体验推向极限,但仍然非常糟糕.我在移动safari的全屏模式下遇到了很多问题,Apple并不关心它们.它被视为二等公民,因为它不像app商店那样产生金钱.

您会注意到,如果您将基于Twitter的新的和令人敬畏的反应/基于反应的移动网站添加到iOS上的主屏幕,它将无法以全屏模式打开.我怀疑这是出于我发现的相同原因 - 错误很多,苹果公司的团队中没有人在研究它们.

在iOS应用程序清单中可用的iOS全屏模式下曾经可能的加载屏幕神秘地停止了工作,没有Apple在他们的论坛中关于该主题的帖子的任何评论.不得不告诉用户,"哦,嘿,只需点击分享,然后滑到'添加到主屏幕'是一个可怕的方式去做事情.

这是一种悲惨的事态.当前接受的答案中的列表应该真正称为"基线响应Web应用程序列表".

并且在这里回答这个问题 - 不,没有替代方案,你无能为力.您必须玩Apple的游戏,支付100美元才能访问应用程序商店,学习完全不同且更复杂的编程语言,并保持完全独立的代码库.

我花了6个月的时间为一个客户端项目学习React Native,它一直很棒.我会极力推荐它.您可以使用JavaScript创建真正的原生应用,并在iOS和Android之间共享您的代码库.

要说清楚,我不是反苹果.我使用iPhone并在Mac上进行开发.但他们的商业战略的这方面肯定是一个耻辱.

  • 我发现 Swift/Xcode 是市场上最容易使用的语言/IDE。他们构建了一种现代开发语言和一种新的范式,即面向协议的编程,解决了与多重继承相关的许多问题。他们没有尝试将其用途扩展到他们自己的产品之外这一事实是一种耻辱,但称其比 TypeScript/JavaScript 更复杂会产生误导。我认为 TypeScript 是一种丑陋的创可贴,他们在丑陋的语言上戴上了。我希望网络浏览器能快速说话。 (2认同)