我在React + Nodejs上有一个中等规模的项目,我需要为移动部件选择最合适的技术。我正在考虑为此使用React Native或Web Progressive Apps。我想问大家,到目前为止,您对“原生” React Native和基于WPA的应用程序的性能有何经验。
我需要考虑: 1.使从ReactJS代码到移动设备的转移变得尽可能容易。 2.移动设备上的硬件支持。例如条形码阅读和NFC。 3.推送通知。 4.在Android和iOS上都能正常运行。
最大的问题是WPA技术是否已经成熟到足以信任它。
答案 0 :(得分:0)
几个月前,我不得不做出相同的决定,我们选择了PWA(目前还不是所有人的答案)。
这就是我们选择PWA的原因,
1)性能-Web can now perform 60fps-像自然过渡一样需要魔术数字。
2)费用-使用PWA可以快速,轻松地将产品构建为移动应用程序和Web应用程序,而现有Web开发人员则无需学习。 3)经过验证-从Twitter lite到Flipkart,PWA上有很多成功案例。毫无疑问,它是可靠的。几个月后,随着iOS支持的到来,现在所有主流浏览器都支持它。
PWA局限性和解决方法
1)硬件-PWA仅限于what web can do today。因此,存在诸如条形码扫描仪之类的硬件,我们很快将不再提供任何支持,并且其中某些硬件的支持非常有限,而诸如蓝牙的硬件则得到了平均支持(以今天支持的浏览器版本的百分比表示)来构建一个小型Android本机应用程序以与这些硬件进行交互,并通过Web套接字将信息传递给PWA。假设扫描条形码时,此本地Android服务将侦听并接收它,并将其传递给我们的PWA。 NFC也是如此。
2)打包和部署-没有正式的方法来生成APK并在公司环境中分发。在使用某些文件浏览器将PWA应用添加到主屏幕后,我们能够提取APK,并使用它进行分发。 Havent在iOS上尝试过。希望对于任何移动操作系统的最新版本,我们都可以使用cordova(不是纯PWA,但可以享受Service Worker的大部分好处)来打包和分发。