我可以使用 React Native 开发 Web 应用程序吗?

Can I develop web application using React Native?

我没有使用 React Native 进行任何练习,所以我正在考虑将其作为下一个要学习的技术。

我知道它是原生 Android 和 iOS 应用程序的替代品,但我想知道,同时使用 React Native[=20= 开发的应用程序], 也可以作为 Web 应用程序使用?

我找到了 React Native Web,所以我想知道:在 React Native 中编写的相同代码是否可以在网络上运行,或者它需要一些额外的修改(如果是的,它们有多复杂)?

作为开发人员,无论是编码还是自己分配整个项目,都应该始终相信没有什么是不可能的。从市场来看,React-Native-Web 是 React 和 React Native 要求最高的升级版本。 是的,与简单的网络相比,在 React Native 网络中很难找到复杂的东西,因为支持者较少。

看起来 this library 已经被 Twitter 和 Uber 等大公司使用,所以我想说它确实工作得很好。

如果您开始为 Android、iOS 和 Web 构建应用程序,我认为它是一个可行的选择。这意味着您必须定期测试您对应用程序的添加是否在每个平台上都能正常工作,并在某些东西无法开箱即用时找到解决方法。迁移现有的 React Native 项目以包含 React Native Web 可能不会那么简单。

使用 React Native,您可以使用一个代码库构建您的应用程序,但这并不意味着您在某些情况下不必编写特定于平台的代码。

除了 Linux、macOS 和 Windows 之外,

Flutter 还可以为这些平台开发应用程序。 Flutter Web 应用程序仍处于早期阶段,因此它可能不如 React Native Web 稳定。我认为,如果您只希望 Android、iOS 和来自同一代码库的 Web 应用程序,那么目前 React Native Web 是更好的选择。

并非所有在 React-Native 中为移动设备编写的内容都适用于 Web 模式。这不仅仅是因为 React Native Web 更新,还因为 Web API 不等同于 iOS/Android API——一些功能根本无法使用。这里是React Native Web的compatibility list,在官网

这里还需要考虑缺乏对 Web 和移动设备的支持。以 react-native-maps 为例:它是在 Google Map SDKs for Android and iOS 和 MapKit in iOS 之上编写的。它完全依赖于移动生态系统,因此如果您希望您的地图功能在 Web 中运行,您必须仅针对 Web 实施单独的解决方案。

总的来说,您需要了解您的每个项目需求是否在 Web 和移动设备上都支持相关的 feature/library,如果不支持,您是否有足够的时间和资源来实施缺失的内容片。如果答案是否定的,那么您应该将代码库分开来处理网络和移动设备。