【问题标题】:Advantages and disadvantages of PWA only greenfield project?PWA 纯绿地项目的优缺点?
【发布时间】:2018-03-18 10:14:12
【问题描述】:

我们的团队正在启动新项目,最初考虑将 react-native 作为构建在其之上的框架(我们中的大多数人已经在 React 生态系统中工作了一段时间)。

我们还在讨论仅基于 PWA 的方法,因为 Safari 很快就会得到支持,Chrome 已经有了很好的支持,有很多可用的 api 并且桌面 PWA 即将推出。

我想询问社区有关仅 PWA 方法可能出现的并发症,以下是我们想到的缺点:

1) 在应用/Play 商店中不存在/不被发现

2) 无法访问某些 API,例如 NFC...(但从 chrome 中的https://whatwebcando.today 来看,我们可以访问我们需要的所有内容)

3) 流畅的用户体验将很难实现(尽管很有可能做到 60fps)

4) 用户对 PWA 安装/使用过程不太熟悉,可能会觉得疏远

5) 获得良好的缓存/网络和性能体验所需的大量知识(不过,我们已经从 Web 应用程序开发中了解了大部分知识)

一些优点

1) 应用商店不削减应用内数字内容购买

2) 真正适用于所有移动和桌面平台的代码库

3) 用户设备的重量更轻

4) 完全控制发布过程

5) 简单快速的更新

6) 我们的团队将使用他们已经熟悉的工具开发更高质量的代码,而不是学习本机部分的 react native。

假设项目在 7 到 9 个月后上线,PWA 是一种可行的推进方式吗?

【问题讨论】:

  • 感谢您阅读答案并接受或提出您的意见。我花了很多时间给出这个长长的答案,并希望它值得回应。
  • 很遗憾看到很长一段时间的 SO 用户都没有回复或确认详细的答案。考虑到您对 SO 并不陌生,我觉得这真的很粗鲁。

标签: reactjs google-chrome safari native progressive-web-apps


【解决方案1】:

像我们这里的大多数人一样,我们也开始使用 PWA,并且有一些类似的问题。试图用我们的 PWA 启动经验来回答你的问题。

剧透警告:现在可以在 PWA 中创建生产就绪、高性能、编写一次运行任何地方的应用程序。向已经做过的人学习 - Ali expressTwitterHere is one best article 比较我们今天拥有的不同选项。

问题:1) 在应用商店/Play 商店中没有存在/可发现性

回答: PWA 应用可以打包为应用(如 Android 的 .apk)并在应用商店中发布。这适用于所有平台(iOS、Android、UWP)。这是一个方便的打包工具(https://www.pwabuilder.com/)。

它的作用是将您的网站(URL)打包到托管的 Web 应用程序(如果受支持)中(UWP),或者通过创建 Web 视图并包装您的应用程序(iOS、Android)将 Cordova 用作 polyfil。希望 Android 很快就会提供避免这种 polyfil 的选项。在那之前,我们可以封装在 Cordova 中,并且仍然可以利用 PWA 功能(例如 service worker 离线缓存。iOS 仅从 10.3 开始支持 service worker)。

当然,加入应用商店会带来应用商店收益分享的成本。仍然使用 PWA “添加到主页选项”,您可以绕过应用商店慢慢获得新的用户群。如果您在付费应用程序空间中,这是增加收入的一个很好的后门。

问题:2) 无法访问某些 api,例如 NFC...(但从 chrome 中的 https://whatwebcando.today 看起来,我们可以访问我们需要的所有内容)

答案:如果您将应用程序包装在 cordova 中(如上述解决方案 - PWA 构建器),您可以将 cordova 插件用于不支持的东西......比如说 NFC。这将关闭所有硬件访问限制。随着支持开始出现,我们可以继续用 PWA 方式替换。这本质上就是 PWA 中的“渐进式”:)

问题 :3) 流畅的用户体验将很难实现(尽管很有可能做到 60fps)

答案:是的,你无法击败原生应用的 FPS。但是使用 PWA,对于大多数应用程序(不包括游戏等应用程序、大量动画应用程序)来说,考虑到服务工作人员 - 缓存和其他 PWA 功能,应用程序可以快速和流畅地加载而没有任何帧人眼可以检测到的液滴。您不需要超过 60fps 即可实现这一目标。 Here is some good explanation,如果你用谷歌搜索为什么 60fps,你可以找到很多这样的文章。

如果您的目标是企业环境中的任何特定硬件,您可以在支持 PWA 的最新版本浏览器中测试设备的 FPS here(Chrome 目前是一个不错的选择)。

问题4)用户对PWA的安装/使用流程不太熟悉,可能会觉得疏远。

回答: 如第一个回答中所述,您可以继续在应用商店中将您的 PWA 网站作为应用(托管应用),并将 PWA 的好处扩展到网络浏览器中. PWA 应用程序对浏览器用户的好处(如离线功能)和要求用户“添加到主屏幕”的选项是您通过 PWA 获得的另一个好处(增加用户参与度)。

问题 5) 获得良好的缓存/网络和性能体验所需的大量知识(不过,我们已经从 Web 应用程序开发中了解了大部分知识)

回答: 上面的 PWA 构建器链接还可以帮助您生成“Service Worker”,它可以解决您的缓存问题,但并不复杂。是的,将会有很多最佳实践,随着 PWA 的发展,事情将不断涌现。不过,您不必一开始就准备好一切。您可以从基本的 Service Worker 和清单文件开始添加到主屏幕/将其打包为应用商店的应用,并且随着您的进展,您可以继续在其上添加更多 PWA 内容。

以上所有工作都将带来您提到的好处并且值得付出努力

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2010-10-24
    • 2016-07-12
    • 2015-08-29
    相关资源
    最近更新 更多