为什么“PWAs vs. native” 是一个错误的问题(翻译

2017-04-21  本文已影响134人  滚石_c2a6

原文:https://medium.com/dev-channel/why-progressive-web-apps-vs-native-is-the-wrong-question-to-ask-fb8555addcbb

即使PWAs已经有两年多的时间了,但仍然有一些对他们的误解:<strike>他们只能在Chrome上工作,它们不能像本机应用一样顺畅,没有全屏模式, 他们必须是SPA,建立离线不值得等等。
所有这些都是假的,我希望Medium允许删除线文本,以让我可以强调一点。
Progressive Web Apps是一个充分建立起来的技术,像Twitter和AliBaba这样的大企业已经取得了巨大的成功。

Hardware access includes

此外,Progressive Web Apps实际上比通常想到的还提供了更多的硬件访问。 截至2016年9月,我在Android上的Chrome 52稳定版的whatwebcando.today截图如下:

Paste_Image.png

硬件访问包括

即将到来的硬件访问

这些功能正在实施或已经可以在某些浏览器中运行:

这里是Firefox 48:

Paste_Image.png

另一个重要的要点是,Origin Trials框架(在Chrome中实现)使制造商能够公开和测试硬件(或软件)功能,而无需通过标准化过程。 例如,手机制造商可以暴露一个API来读取压力传感器的值,进行细化,然后提交给W3C考虑。
无论如何,访问硬件功能只是一个伟大的应用程序的一部分。 传统上只能由本地应用程序使用的软件功能,现在也可用于网络应用程序。

PWAs也可以使用的传统的本机功能

PWAs即将可以使用的本机功能

处理意图 - 例如,将页面共享到另一个应用程序,或作为共享目标。例如,一个PWA聊天应用程序,它接收一个图像做为用户头像。

PWAs目前缺乏的原生Android功能

对于大多数用例,PWA可以做到,也是一个更好的投资 - 您不必为Android,iOS和Web开发和维护三个独立的代码库。 PWAs还具有本机应用程序缺乏的某些功能。

PWA相对于于本机应用程序的优势

低分配的摩擦力 - 如果您的PWA网络应用程序在线,那么Android(和其他移动)用户就可以访问。 65.5%的美国智能手机用户每月不下载任何新的应用程序。 PWAs消除了需要去应用商店,搜索应用程序,点击安装,等待下载,然后打开应用程序(直到Android Instant App启动)。 每个步骤都会损失20%的潜在用户。

Paste_Image.png

iOS

虽然Opera与Chrome和Firefox大致相同,但在iOS上,我们仍然等待Safari赶上。幸运的是,苹果公司正在关注PWA,并考虑实施Service Worker,这是为PWAs提供支持的核心功能。然而,即使没有Service Worker,除了离线和Safari / iOS推送通知(Mac OS Safari可以推送通知)之外,PWA网络应用程序仍将提供上述所有其他功能。用户仍然可以将应用程序添加到其iOS主屏幕,并以全屏方式启动。

结论

“PWA vs. Native”是一个错误的问题,因为如果你已经有一个产品,你已经有一个应用程序,一个网络存在,或者两者都有,你们应该提高两者。 如果您没有产品,那么如果您有资源来构建本机Android +本地iOS +网络应用程序,并保持它们同步,请继续。 否则,在大多数情况下,选择首先建立PWA是一个没有意义的事情:

传统上,你必须建立:

Desktop/mobile web + native Android + native iOS

现在,大多数情况下您可以:

PWA + iOS app

一旦Safari实现了Service Worker,它就只是

PWA

这不是“PWA vs. native”,而是“PWA vs. [web + native + native]”。
而在覆盖面方面,没有本地解决方案能够击败渐进的网络应用程序。

上一篇 下一篇

猜你喜欢

热点阅读