反应 JS 与反应本机

Posted

技术标签:

【中文标题】反应 JS 与反应本机【英文标题】:React JS v React Native 【发布时间】:2016-04-21 01:48:47 【问题描述】:

我正在为您确定我的流星应用程序的样式,我计划将其单独作为一个 androidios 应用程序启动。它不会被制作成网站。 我的理解是 react native 与 reactjs 相同,但面向移动应用程序。这是真的吗?如果是这样,您是否建议使用 react native 而不是 reactjs 来制作应用程序,或者 reactjs 是否仍然提供更大的好处? 另外,在使用 react native 时是否需要材质 ui 或类似的东西?

【问题讨论】:

React 和 React Native 之间有一个显着而重要的区别。 React javascript,而 React Native 编译为 iOS 本机代码(想想目标 c)或 Android(Java)。它们并不完全相同,但分享一些你编写代码的方式。 【参考方案1】:

React-native 与 React 和一些关键代码共享一个心智模型,但明显不同。以下是需要考虑的几点/差异:

使用执行本机功能的桥接代码运行通常可由 JavaScript 调用或使用 JavaScript 调用。 React 和 react-dom 旨在在 DOM 环境中运行(react-dom 可以在服务器端运行,但应用程序旨在主要在浏览器上下文中运行和交互)。 它允许您在平台之间共享代码,但您通常不能也不应该期望有 100% 的代码重用。 您可以在适当的时候使用本机,但在好的情况下,您可以更频繁地共享代码。

最后,对于 Material UI,如果你说的是 google material UI,它是一个风格的 UI 库,而不是一个跨平台的界面库。它比 React 更类似于引导程序。有很多库实现了 google 的 Material UI,这些库可能是专门为 React、React-native 或其他库/平台创建的。

希望能有所帮助!

【讨论】:

以上是关于反应 JS 与反应本机的主要内容,如果未能解决你的问题,请参考以下文章

将反应本机代码与 Xcode 捆绑时运行 .js 脚本

如何将elasticsearch与本机反应一起使用?

通过 NodeJS 与 MongoDB 反应本机 [关闭]

Haste 模块命名冲突:将本机应用程序与 AWS 服务反应(放大项目)

将反应应用程序与反应本机应用程序合并

反应导航上的反应本机缺少导航