我在React+Nodejs上有一个中等规模的项目,我需要为移动部分选择最合适的技术。我正在考虑 React Native 或 Web Progressive Apps for The。我想问你们,到目前为止,你们对"类似本机"的 React Native 与基于 WPA 的应用程序的性能有什么经验。
我需要考虑: 1. 尽可能轻松地从 ReactJS 代码转移到移动设备。 2.移动设备上的硬件支持。如条形码读取和NFC。 3. 推送通知。 4.在安卓和iOS上运行良好。
最大的问题是WPA技术是否已经足够成熟,可以信任它。
几个月前我不得不做出同样的决定,我们选择了PWA(还不是每个人的答案(。
这就是我们选择PWA的原因,
1(性能- Web现在可以执行60fps - 原生所需的幻数,如平滑过渡。
2(成本- 使用PWA快速轻松地构建作为移动应用程序和Web的产品,而现有Web开发人员无需学习曲线。 3(经过验证 - 从Twitter lite到Flipkart,PWA上有很多成功的故事。毫无疑问,它是可靠的。随着几个月前iOS的支持,现在所有主流浏览器都支持它。
PWA限制和工作轮次,
1(硬件- PWA仅限于当今Web可以执行的操作。所以有些硬件,如条形码扫描仪,我们短期内没有任何支持范围,有些硬件的支持非常有限,而一些硬件,如蓝牙,平均支持(就今天支持的浏览器版本的百分比而言(我们必须构建一个小型的Android Native应用程序来与这些硬件进行交互,并将信息传递给PWA起诉Web套接字。比如说,当条形码被扫描时,这个原生的Android服务将侦听并接收它,并传递给我们的PWA。同样的事情也适用于NFC。
2( 打包和部署- 没有官方方法可以生成 APK 并在企业环境中分发。使用一些文件浏览器将PWA应用程序添加到主屏幕后,我们能够提取APK,并使用它来分发。还没有在iOS上试用过。希望任何移动操作系统都有最新版本,我们可以使用cordova(不是纯PWA,但我们获得了像Service Worker这样的大部分好处(来打包和分发。