PWA仅绿地项目的优缺点?

时间:2018-03-18 10:14:12

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

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

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

我想向社区询问与PWA相关的可能的并发症,这是我们想到的缺点:

1)App / Play商店中没有存在/可发现性

2)无法访问某些类似于NFC的API ...(但是通过Chrome中https://whatwebcando.today的外观,我们可以访问我们需要的所有内容)

3)平稳的用户体验很难实现(尽管很可能达到60fps)

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

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

一些优点

1)应用商店没有针对应用数字内容购买进行削减

2)真正为所有平台移动和桌面提供一个代码库

3)用户设备的重量更轻

4)完全控制发布过程

5)轻松快速的更新

6)我们的团队将使用他们已经熟悉的工具来开发更高质量的代码,而不是学习原生的本地反应。

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

1 个答案:

答案 0 :(得分:7)

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

剧透警报:现在可以在PWA中创建生产就绪,高性能,一次性写入任何应用程序。向已完成此操作的人员学习 - Ali expressTwitterHere is one best article比较了我们今天拥有的不同选项。

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

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

它的作用是将您的网站(URL)打包到托管的Web应用程序(如果支持)(UWP),或者通过创建webview并包装您的应用程序(iOS,Android)将Cordova用作polyfil。希望Android能够尽快选择避免使用这种polyfil。在此之前,我们可以使用Cordova,并且仍然可以利用PWA功能(例如服务工作者离线缓存.iOS仅支持10.3的服务工作者)。

当然,推出应用商店会带来应用商店收入分成的成本。仍然使用PWA“添加到主页选项”,您可以慢慢获得绕过应用商店的新用户群。如果您在付费应用空间,可以获得增加收入的良好后门。

问题:2)无法访问某些类似于NFC的API ...(但是通过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构建器链接还可以帮助您生成“服务工作者”,它可以解决您的缓存问题,而且复杂度不高。是的,那里会有很多最佳实践,随着PWA的发展,事情会不断发生。但是,您不必拥有一切可用的东西。您可以从基本服务工作者和清单文件开始添加到主屏幕/将其打包为应用程序商店的应用程序,并且随着您的进展,您可以在其上添加更多PWA内容。

以上所有工作都会带来你所提到的好处及其值得的好处